MEFの公式ドキュメントから:
構成可能パーツには、少なくとも1つのエクスポートが含まれている必要があります。
構成可能なパーツは、明示的にコンテナに追加されるか、カタログを使用して作成されます。
MEFに同梱されているデフォルトのカタログは、エクスポート属性の存在によって構成可能パーツを識別します。
これは、デフォルトのカタログを使用する場合、何もエクスポートしないため、同じドキュメントからのこのスニペットが機能しないことを意味しますか?
class Program
{
[Import]
public IMessageSender MessageSender { get; set; }
}
MEFミックスに参加しているすべてのクラスが、単に「消費」したい場合でも、すべて「食べ物をテーブルに持ってくる」必要があるとは信じがたいです。
上記Programは簡単な例です。このクラスがMEFミックスに追加できるものはありません。
第二に、
パーツはどのように「明示的にコンテナに」追加されますか?たとえば、 CompositionContainer
のドキュメントは、これ以上役に立ちません。
よろしくお願いします1月