Caliburn.CoRoutine在VB

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 
+0

我认为它应该是'Sub ... End Sub'。 (否则罚款)。 –

+0

你是对的 – Nkosi

+0

,做到了,谢谢 – user3418258