Поведение по умолчанию с MEF - генерировать исключение, когда определения не могут быть созданы из-за отсутствующих частей.Вы можете решить эту проблему, изменив атрибут [Import]
на [Import(AllowDefault = true)]
, что позволит использовать нулевые значения при отсутствии экспорта.Это, очевидно, повлияет на ваш код, так как вам нужно явно проверить null
в вашем методе DoSomething
.
Что касается видимости доступа, определение свойства импорта как private
означает, что оно не можетбыть изменены внешне, чтобы с этой целью ... можете ли вы гарантировать, что это свойство будет установлено правильно?Если нет, вам нужно проверить на null
.