Public Interface ILoginConductor
Inherits IHandle(Of LoginEvent)
Inherits IHandle(Of LogoutEvent)
Inherits IHandle(Of ExitEvent)
End Interface
在C#這裏是一個使用界面
public void Handle(LoginEvent message)
{
LoginWindow loginWindow = new LoginWindow();
loginWindow.Login += new EventHandler<LoginEventArgs>(this.LoginWindow_Login);
loginWindow.Cancel += new EventHandler(LoginWindow_Cancel);
loginWindow.ShowDialog();
}
方法並將其轉換爲這個在VB .Net
Public Sub Handle(message As LoginEvent) Implements ILoginConductor.Handle
Dim loginWindow As New LoginWindow()
loginWindow.Login += New EventHandler(Of LoginEventArgs)(AddressOf Me.LoginWindow_Login)
loginWindow.Cancel += New EventHandler(AddressOf LoginWindow_Cancel)
loginWindow.ShowDialog()
End Sub
但編譯器會拋出一個錯誤,說我必須使用RaiseEvent
。有人可以幫我指導我如何修復我的代碼。
你是什麼意思「轉換爲」?您是否使用轉換工具?如果是這樣,哪一個?這個問題是因爲VB沒有+ =操作符。您需要使用[RaiseEvent語句](https://msdn.microsoft.com/en-us/library/fwd3bwed.aspx)。 – Clint
@Clint:'+ ='的VB.NET相當於[** AddHandler語句**](https://msdn.microsoft.com/en-us/library/7taxzxka.aspx),而不是RaiseEvent。 –
@VisualVincent它確實!愚蠢的疏忽對我來說。 – Clint