MEFでは、ImportMany
属性を使用して複数の部品をインポートできます。関連するエクスポートを取得する順番をどのように決定し、それを挿入する列挙型に追加しますか?たとえば、特定の順序で起動する複数のIRulesをインポートするにはどうすればよいですか?私は考えることができる唯一の方法は、手動での並べ替えのiRuleでOrderValue性質を持っているとしている:MEFはどのように輸入の順序を決定しますか?
public class Engine
{
[ImportMany]
public IEnumerable<IRule> Rules { get; set; }
public void Run()
{
// ...
// Initialise MEF
// ...
//
// Do I need to manually order Rules here?
//
foreach (IRule rule in Rules)
{
// Must execute in a specific order
rule.Execute();
}
}
}
私はあなたの仮定が正しいだと思う - それは、問題のMEFの少し外が解決しようとしているようです。 – GraemeF