Caliburn.CoRoutine在VB
问题描述:
我想给协程卡利样品从C#转换到VB的转换进行得很顺利,直到我得到这个说法在引导程序:Caliburn.CoRoutine在VB
Coroutine.Completed += (s, e) => {
if (e.Error != null)
MessageBox.Show(e.Error.Message);
};
这是在配置部分引导程序和我认为它的目的是在CoRoutine完成后拦截任何错误并发布到消息框中。
在VB将其转换为:
Coroutine.Completed += Function(s, e)
If e.[Error] IsNot Nothing Then
MessageBox.Show(e.[Error].Message)
End If
End Function
这得到了波浪线在编辑器和VS 2015年的错误消息,建议你应该使用加薪事件, - - - 然而,这似乎并没有在引导程序的这里有意义,在我看来,Lambda的目的是处理事件。
我很想听到任何人也在VB中使用Caliburn。每个Caliburn示例的初始转换都是一个真正的挑战,但对我来说更加困难,因为我和WPF桌面应用程序而不是Silverlight一起工作,而且两者相似,Silverlight示例呈现了很多陷阱。我现在有近20厘米的桌面样品都在VB中,我会很乐意分享工作的图书馆,但协同程序一直是一个难以实现的魔鬼来获得VB
工作
答
使用AddHandler
AddHandler Coroutine.Completed,
Sub(s, e)
If e.[Error] IsNot Nothing Then
MessageBox.Show(e.[Error].Message)
End If
End Sub
我认为它应该是'Sub ... End Sub'。 (否则罚款)。 –
你是对的 – Nkosi
,做到了,谢谢 – user3418258