У меня есть объект, переданный в нашу библиотеку и прошедший через различные процессы. Мне нужно добавить некоторую дополнительную информацию к этим объектам, поскольку они проходят через различные стадии и выходят с другого конца - я полагаю, своего рода шаблон динамического декоратора, за исключением добавления дополнительных свойств, а не изменения существующего поведения.
Я надеялся использовать LinFu или Castle для создания динамического прокси и реализовать дополнительный интерфейс для этого объекта. Компоненты, которые знают о расширенном интерфейсе, могут преобразовать его и получить к нему доступ - в то время как те, которые не знают о расширенном интерфейсе, не обращают внимания, поскольку базовый тип не изменился.
Однако я не осознавал, что все эти механизмы предполагают, что вы контролируете точку, в которой изначально создается тип, а я этого не делаю.
Есть ли у кого-нибудь предложения о том, как я могу лучше подойти к этому?
Большое спасибо