当前位置 : 主页 > 编程语言 > c语言 >

VB.NET中的C#event = delegate {}等效

来源:互联网 收集:自由互联 发布时间:2021-06-24
好吧,我正在使用 developer fusion将C#翻译成VB.NET,并且API没有将我翻译成那部分…… owner.IsVisibleChanged += delegate { if (owner.IsVisible) { Owner = owner; Show(); } }; 我知道=是针对AddHandler所有者.IsVisib
好吧,我正在使用 developer fusion将C#翻译成VB.NET,并且API没有将我翻译成那部分……

owner.IsVisibleChanged += delegate
            {
                if (owner.IsVisible)
                {
                    Owner = owner;
                    Show();
                }
            };

我知道=是针对AddHandler所有者.IsVisibleChanged,AdressOf(委托??),那么,哪个是该部分的等价物?

提前致谢.

PD:我没有足够的钱购买.NET Reflector :(而且我浪费了试验.

这里有两个部分.

>匿名方法. C#中的委托大致对应于VB中的匿名Sub.
>添加事件处理程序. =在C#中,在VB中添加AddHandler.

把它放在一起:

AddHandler owner.IsVisibleChanged, _
    Sub()
        …
    End Sub

顺便提一下,您提到的AddressOf运算符在VB中用于引用(非匿名)方法而不调用它.因此,如果您要引用现有的命名方法而不是匿名方法,那么您将在此处使用它.

网友评论