VB与CSharp中部分语法转换

1.WithEvents

VB: Private WithEvents tmrCallback As New System.Timers.Timer()

Private Sub tmrCallback_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) _

Handler tmrCallback.Elapsed

C#: Private System.Timers.Timer tmrCallback;

tmrCallback.Elapsed += new System.Timers.ElapsedEventHandler(tmrCallback_Elapsed);(初始化时绑定事件)

private void tmrCallback_Elapsed(object sender, EventArgs e)

2.Event 与 RaiseEvent

VB: public Event TaskComplete(ByVal sender As Object, ByVal e As System.EventArgs)

RaiseEvent TaskComplete(sender, e)

C#: public delegate void TaskCompleteHandler(object sender, EventArgs e); //使用委托来声明事件

public event TaskCompleteHandler TaskComplete;

TaskComplete(sender, e); //不需要RaiseEvent关键字

3.AddHandler、AddressOf

VB: AddHandler TaskComplete, AddressOf Listener.TaskCompleted

C#: TaskComplete += new TaskCompleteHandler(Listener.TaskCompleted);