Работа с довольно большим бэк-офисным приложением VB.Net winforms. 1 миллион + LOC.
Большой шарик грязи, 90% всего кода находится в формах и других элементах управления пользовательского интерфейса.
Медленно внедряя лучшую архитектуру, насколько позволяют время и ресурсы, мы использовали идеи из EventAggrgator Джереми Миллера.
http://codebetter.com/blogs/jeremy.miller/archive/2008/01/11/build-your-own-cab-extensible-pub-sub-event-aggregator-with-generics.aspx
Изначально я исключил использование 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 должно быть имя метода. </p>
Я уверен, что упускаю что-то простое, но, глядя на это в течение 2 дней, я потерялся.