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