迁移'把手'从VB.NET到C# [英] Migrating 'Handles' from VB.NET to C#
问题描述
我从迁移VB.NET一些代码到C#(3.5)
我觉得像结构:
公共事件DataLoaded(BYVAL发件人为对象,BYVALË作为EventArgs的)
保护小组Mag_Button_Load_Click(BYVAL发件人为对象,BYVALË作为EventArgs的)把手Mag_Button_Load.Click
[..]
的RaiseEvent DataLoaded(ME,EventArgs.Empty)
端子
[..]
'级的其他
私人小组LoadData(BYVAL发件人为对象,BYVAL E上System.EventArgs)把手oData.DataLoaded
[..]
端子
什么是这种行为转化为C#?
我建议使用Telerik的href=\"http://converter.telerik.com/\">代码转换器的作为开始的 C#不喜欢用VB.NET做了句柄关键字的方式有事件处理器的那么容易附着自动 此外,您需要将事件处理程序分配给这样的对象: 然而C#确实有这样做还有的简洁能力: I'm migrating some code from VB.NET to C# (3.5). I find structures like: What is the most straightforward way to translate such behaviour to C#? I recommend using the Telerik Code Converter as a start. C# does not have that easy automatic attaching of event handlers by means of the "Handles" keyword like VB.NET does. Also, You need to assign your event handlers to the objects like this: However C# does have the succinct ability of doing this as well:
这篇关于迁移'把手'从VB.NET到C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
//事件处理程序的声明
公共事件的EventHandler DataLoaded;
保护无效Mag_Button_Load_Click(对象发件人,EventArgs五)
{
//引发事件
如果(DataLoaded!= NULL){
DataLoaded(这,EventArgs.Empty);
}
}
Button1.Click + =的button1_Click;
保护无效的button1_Click(对象发件人,EventArgs五)
{
//做一些事情。
}
Button1.Click + =(发件人,E)=>
{
//做些什么
}
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
//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
}