vb.net有没有关键字相当于c#中的this?

iammac 2010-08-11 03:52:21

If(myEvent!=null)
myEvent(this,null)

还有c#里委托的一种用法

myClass.myEvent+=new delegate{ Console.Write("...") }



vb.net中有没有对等的写法?
...全文
490 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwfgu00ing 2010-08-11
  • 打赏
  • 举报
回复
Me

回复内容太短了!
鸭梨山大帝 2010-08-11
  • 打赏
  • 举报
回复
VS2008版本(含)一下 ==> VS2008版本(含)以下
鸭梨山大帝 2010-08-11
  • 打赏
  • 举报
回复
1. Me
2. VB.NET 不支持 多行Lambda 跟 匿名委托. VS2008版本(含)一下 , VS2010暂时未研究.

所以写法需要修改为:

AddHandle myClass.myEvent, AddressOf YourSub

Sub YourSub()
Console.Write("...")
End Sub
兔子-顾问 2010-08-11
  • 打赏
  • 举报
回复
写错了。vb2008不支持无返回值的写法。或者我不知道。
兔子-顾问 2010-08-11
  • 打赏
  • 举报
回复
delegate的写法在不同版本支持不同。c#支持匿名的方法,但是否有返回值的都叫方法,vb.net 2005中,只提供了匿名函数 Function关键字到了2010提供了Sub的关键字。支持匿名过程。
例如:
c#的写法

public delegate void VoidDelegate(int i);
public static void TestDelegate(VoidDelegate vd)
{
vd(100);
}
static void Main(string[] args)
{
TestDelegate(delegate(int i) { Console.WriteLine(i); });
TestDelegate(i => Console.WriteLine(i));
Console.ReadKey();
}

对应的vb.net写法为:

//(2010)支持
Public Delegate Sub VoidDelegate(ByVal i As Integer)
Public Sub TestDelegate(ByVal vd As VoidDelegate)
vd(100)
End Sub
Sub Main()
TestDelegate(Sub(i As Integer) Console.WriteLine(i))
Console.ReadKey()
End Sub
//(2008)支持
Sub Main()
TestDelegate(Function(i As Integer)
Console.WriteLine(i)
Return Nothing
End Function
)
Console.ReadKey()
End Sub

Public Delegate Function VoidDelegate(ByVal i As Integer)
Public Sub TestDelegate(ByVal vd As VoidDelegate)
vd(100)
End Sub
winner2050 2010-08-11
  • 打赏
  • 举报
回复
Me

不是me
rqx110 2010-08-11
  • 打赏
  • 举报
回复
me
iammac 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 iammac 的回复:]

引用 2 楼 deadwolf 的回复:

me

回复内容 回复内容太短了!

...太好了...
另外,那个vb里delegate可以这样用吗?
有些简单的语句就省另写方法了
[/Quote]
这个呢?
只能写一个方法吗?
明缘 2010-08-11
  • 打赏
  • 举报
回复
me .....
iammac 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 deadwolf 的回复:]

me

回复内容 回复内容太短了!
[/Quote]
...太好了...
另外,那个vb里delegate可以这样用吗?
有些简单的语句就省另写方法了
DeadWolf 2010-08-11
  • 打赏
  • 举报
回复
me

回复内容 回复内容太短了!
iammac 2010-08-11
  • 打赏
  • 举报
回复
谢谢了,各位

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧