代码之家  ›  专栏  ›  技术社区  ›  pistacchio

将“句柄”从VB.NET迁移到C#

  •  8
  • pistacchio  · 技术社区  · 16 年前

    我正在将一些代码从VB.NET迁移到C#(3.5)。

    Public Event DataLoaded(ByVal sender As Object, ByVal e As EventArgs)
    
    Protected Sub Mag_Button_Load_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Mag_Button_Load.Click
    [..]
            RaiseEvent DataLoaded(Me, EventArgs.Empty)
    End Sub
    [..]
    
    'Other Class
    Private Sub LoadData(ByVal sender As Object, ByVal e As System.EventArgs) Handles oData.DataLoaded
    [..]
    End Sub
    

    将这种行为转化为C#的最直接的方法是什么?

    1 回复  |  直到 11 年前
        1
  •  12
  •   Jose Basilio    16 年前

    我建议使用 Telerik Code Converter

    C#不像VB.NET那样,通过“Handles”关键字自动附加事件处理程序。

    //EventHandler declaration
    public event EventHandler  DataLoaded;
    protected void Mag_Button_Load_Click(object sender, EventArgs e)
    {
    
        //Raise Event
        if (DataLoaded != null) {
            DataLoaded(this, EventArgs.Empty);
        }
    }
    

    Button1.Click += Button1_Click;
    
    protected void Button1_Click(object sender, EventArgs e)
    {
      //do something.
    }
    

    Button1.Click += (sender, e)=>
    {
        //do something
    }