Как я могу предотвратить появление MEF исключения, если экспорт не найден? - PullRequest
1 голос
/ 13 мая 2010

У меня есть класс со свойством IList<T>, украшенным атрибутом [ImportMany(allowRecomposition = true)]. Существуют некоторые условия, при которых приложение может не найти доступных экспортов запрошенного типа. Прямо сейчас он генерирует исключение CompositionException, если не найдены экспорты запрошенного типа. Мне не нравится, когда поток приложений определяется исключениями, поэтому я бы не стал отлавливать и реагировать в этом случае. Скорее, я просто хочу, чтобы выполнение программы продолжалось.

Есть ли флаг или что-то, что я могу установить, чтобы сделать этот импорт необязательным? Я знаю, что для отдельных свойств импорта вы можете сделать это: [Import(AllowDefault = true)], но 'AllowDefault' не является опцией атрибута ImportMany.

1 Ответ

3 голосов
/ 14 мая 2010

В большинстве случаев происходит сбой чего-то еще, потому что по определению ImportMany допускает ноль или более элементов, поэтому, если значение отсутствует, это не приведет к ошибкам.

...