Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 像C在构造函数中那样在VB.Net中添加EventHandler?_C#_Vb.net - Fatal编程技术网

C# 像C在构造函数中那样在VB.Net中添加EventHandler?

C# 像C在构造函数中那样在VB.Net中添加EventHandler?,c#,vb.net,C#,Vb.net,我有一个C语言的代码片段,我想把它转换成VB.Net public class ModuleAViewOne : UserControl { public ModuleAViewOne(ModuleAViewOneViewModel model) { InitializeComponent(); this.Loaded += (s, e) => { this.DataContext = model;

我有一个C语言的代码片段,我想把它转换成VB.Net

public class ModuleAViewOne : UserControl
{
    public ModuleAViewOne(ModuleAViewOneViewModel model)
    {
        InitializeComponent();

        this.Loaded += (s, e) =>
        {
            this.DataContext = model;
        }
    }
}
我用这种方式把它转换成VB.Net

Partial Public Class ModuleAViewOne
 Inherits UserControl

Public Sub New(ByVal model As ModuleAViewOneViewModel)
        InitializeComponent()

        Me.model = model

        AddHandler Loaded, AddressOf _Loaded
    End Sub

    Dim model As ModuleAViewOneViewModel

    Private Sub _Loaded(ByVal s As Object, ByVal e As RoutedEventArgs)
        DataContext = model
    End Sub
End Class

但事件是否可以写入构造函数中,这样我就不必创建新的全局模型变量了?

您只需使用lambda表达式即可

Public Sub New(model As ModuleAViewOneViewModel)
    InitializeComponent()

    AddHandler Loaded, Sub(s, e) DataContext = model
End Sub
或者,由于Visual Studio 2010附带了VB 10.0,因此可以使用多行lambda:

Public Sub New(model As ModuleAViewOneViewModel)
    InitializeComponent()

    AddHandler Loaded, Sub(s, e) 
                          DataContext = model
                       End Sub
End Sub

这些只是lambda的表达:@Nick:我知道,但我的问题不是那样。@NikhilAgrawal如果不是那样怎么办?从VB2010开始,您可以使用lambdas语句,因此请编写一个语句,而不是AddressOf位。