MEF를 사용하면 ImportMany
특성을 사용하여 여러 부분을 가져올 수 있습니다. 해당 내보내기를 검색하는 순서를 어떻게 결정하며 사용자가 채우는 열거 형에 추가합니다. 예를 들어 특정 순서로 실행해야하는 여러 개의 IRules을 어떻게 가져올 수 있습니까? 내가 생각할 수있는 유일한 방법은 일종의 수동으로 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();
}
}
}
나는 당신의 가정이 올바른 생각합니다. – GraemeF