好吧,我正在使用developer fusion翻译C# into VB.NET
,并且API没有翻译我那部分...
owner.IsVisibleChanged += delegate
{
if (owner.IsVisible)
{
Owner = owner;
Show();
}
};
我知道+= is for AddHandler owner.IsVisibleChanged, AdressOf (delegate??)
,那么,这部分是等同的吗?
提前致谢。
PD:我没有足够的资金来购买 .NET Reflector :(我浪费了审判。
答案 0 :(得分:5)
这里有两个部分。
匿名方法。 C#中的delegate
大致对应于VB中的匿名Sub
。
添加事件处理程序。 C#中为+=
,VB中为AddHandler
。
把它放在一起:
AddHandler owner.IsVisibleChanged, _
Sub()
…
End Sub
顺便提一下,您提到的AddressOf
运算符在VB中用于引用(非匿名)方法而不调用它。因此,如果您要引用现有的命名方法而不是匿名方法,则可以在此处使用它。