0

クラスをエクスポートし、コードの別の部分にインポートしています。

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

クラスが存在するDLLは条件付きでアプリケーションにロードされ、ほとんどの場合存在しないため、DLLが存在しない場合にプログラムがクラッシュするのではないかと思いますか? 私が望むのは、DLL がそこにない場合、オブジェクトを単純に null に設定して、チェックして正しいことを実行できるようにすることです。クラスがロードされていない場合に値が null に設定されるように、条件付きでインポートする方法はありますか?

ありがとう、

4

1 に答える 1

0

推奨される変更:IEnumerableを使用する必要があるためImportManyです。インポートが見つからない場合にAllowDefault = trueコードで設定できるようにします。NULL

[ImportMany(AllowDefault = true)]
public IEnumerable<IRTAOperatorErrorNotifications> RTAOperatorErrorNotifications { get; private set; }
于 2013-11-20T09:37:31.293 に答える