导入但没有加载DLL

时间:2013-11-02 01:48:14

标签: c# mef

我导出了一个类,并且导入了代码的不同部分。

[Import]
public IEnumerable<IRTAOperatorErrorNotifications> RTAOperatorErrorNotifications
{
    get { return m_RTAOperatorErrorNotifications; }
}

现在DLL是类的驻留是有条件地加载到应用程序中,并且在大多数情况下它将不存在,所以我想知道如果DLL不存在会导致程序崩溃吗?   我想要的是,如果DLL不在那里,只需将对象设置为null,这样我就可以检查并做正确的事情。有没有办法有条件地导入所以如果没有加载类,则将值设置为null?

谢谢,

1 个答案:

答案 0 :(得分:0)

建议的更改:因为它是IEnumerable,您需要使用ImportManyAllowDefault = true允许代码在未找到导入时将其设置为NULL

[ImportMany(AllowDefault = true)]
public IEnumerable<IRTAOperatorErrorNotifications> RTAOperatorErrorNotifications { get; private set; }
相关问题