Перехват зависимостей в MEF - PullRequest
0 голосов
/ 13 октября 2011

Возможно ли перехватить запросы зависимостей в MEF, прежде чем они будут обработаны MEF?

Это было бы полезно для реализации декораторов и расширенного управления временем жизни.

Что-то вроде ...

catalogue.AddInterceptor<IExpensiveService>(b => ... return from pool ...);

Или даже ...

catalogue.AddInterceptor<IExpensiveService>(b => new Decorator(b()));

(где «b» - базовая функция разрешения MEF для разрешения службы)

1 Ответ

1 голос
/ 13 октября 2011

Не из коробки, но вы можете написать собственную реализацию ExportProvider или ComposablePartCatalog , чтобы сделать это.

MefContrib , кажется, реализовал нечто подобное, взгляните на InterceptingCatalog . См. Также это (возможно, устаревшее) сообщение в блоге об этом.

...