Так как Вы пытаетесь реализовать Smalltalk, почему бы не рассмотреть один из smalltalk-вдохновленных VMs для Ruby как YARV или даже rubinius. Оба smalltalk-вдохновлены и стремятся быть высокоэффективными. YARV будет новый стандартный Ruby VM.
Вот статья, показывающая , как справиться с этим с помощью PostSharp .
Существует также UpdateControls.NET . Я не использовал его, и это выглядит как большая работа, чем notifypropertyweaver, но это может быть хорошо. С веб-сайта:
Элементы управления обновлением не требуют реализации INotifyPropertyChanged или объявления свойства DependencyProperty. Он подключает элементы управления напрямую к свойствам CLR. Он обнаруживает зависимости от данных через слои промежуточного кода. Это делает его идеальным для шаблона Model / View / ViewModel; дополнительный код не требуется во ViewModel, который находится между моделью и представлением.
Оберните DataContext вашего окна. Оболочка не только реализует INotifyPropertyChanged для всех свойств вашего объекта, но также автоматически определяет их зависимости от других свойств. Нет базового класса или интерфейса для реализации.
Существует также KindOfMagic, который очень прост в использовании. Просто создайте атрибут Magic и примените его. https://www.nuget.org/packages/KindOfMagic