使用相当大的 VB.Net 后台 winforms 应用程序。100 万+ LOC。大泥球,90% 的代码都在表单和其他 UI 控件中。
在时间和资源允许的情况下慢慢引入更好的架构,我们一直在使用 Jeremy Miller 的 EventAgrgator 的想法。
最初我去掉了 SynchronizationContext 的使用。现在我试图把它介绍回来,我正在努力将 lamda 的东西从 c# 翻译成 vb.net。
特别是这行c#
_context.Send(delegate { receiver.Handle(subject); }, null);
这是我到目前为止的 vb.net:
_context.Send(New SendOrPostCallback(AddressOf listener.Handle(message)), Nothing)
我得到的错误是
listener.Handle(message) <-- AddressOf 操作数必须是方法的名称。
我确定我错过了一些简单的东西,但是在盯着这个 2 天之后,我迷路了。