首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将“Handles”从VB.NET迁移到C#

将“Handles”从VB.NET迁移到C#
EN

Stack Overflow用户
提问于 2009-04-27 16:43:19
回答 1查看 13.4K关注 0票数 10

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

我发现这样的结构:

代码语言:javascript
复制
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#的最直接的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-04-27 16:49:16

我建议首先使用Telerik Code Converter

与VB.NET不同,C#不具备通过"Handles“关键字自动附加事件处理程序的功能。

代码语言:javascript
复制
//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);
    }
}

此外,您还需要将事件处理程序分配给对象,如下所示:

代码语言:javascript
复制
Button1.Click += Button1_Click;

protected void Button1_Click(object sender, EventArgs e)
{
  //do something.
}

然而,C#也有简洁的能力来实现这一点:

代码语言:javascript
复制
Button1.Click += (sender, e)=>
{
    //do something
}
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/794332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档