Зачем использовать метаданные MEF вместо простого расширения интерфейса для включения метаданных? - PullRequest
4 голосов
/ 20 сентября 2010

Итак, используя атрибут ExportMetadata, почему бы просто не расширить интерфейс?

Ответы [ 2 ]

6 голосов
/ 20 сентября 2010

если вы импортируете Lazy <> через MEF, вы можете просматривать метаданные без создания экземпляра вашего объекта.

4 голосов
/ 20 сентября 2010

Хороший вопрос.Я думаю, что расширение интерфейса - это правильная вещь , которую нужно делать, когда у вас есть такая возможность.Он намного лучше сообщает о намерениях .

Однако нам может потребоваться более детальный контроль над интерфейсами, которых у нас нет .В этих случаях мы можем использовать ExportMetadata в качестве замены.

По моему мнению, вы должны использовать ExportMetadata только тогда, когда нет другой доступной опции .

...