인스턴스화 된 객체 대신 유형별로 바인딩하고 싶습니다.C# MEF 형식 바인딩을 수행 할 수 없습니다?
내가 지금해야 할 :
var catalog = new AssemblyCatalog(typeof(...).Assembly);
var container = new CompositionContainer(catalog);
var batch = new CompositionBatch();
var mySamurai = new Samurai();
batch.AddPart(mySamurai);//I would prefer the type not an object...
container.Compose(batch);
mySamurai.Attack();
의 작동하지만 내가 좋아하는 뭔가를하고 싶으면 :
var catalog = new AssemblyCatalog(typeof(...).Assembly);
var container = new CompositionContainer(catalog);
var batch = new CompositionBatch();
batch.AddPart(typeof(Samurai));//HERE container.Compose(batch);
var mySamurai = new Samurai();
mySamurai.Attack();
하는 MEF와 그 수 있습니까?
나는 MEF에 FakeEntityInheritEntity의 종류를 바인드하여 그 유형을 주입하려고합니다. –
내 질문이 더 정확하도록 변경했습니다. –
@Daok 당신은 그렇게 할 수 없습니다. MEF가 독자적으로 작성한 오브젝트에 대해 MEF가 완전히 알 수있는 방법은 없습니다. '사무라이 '에'ExportAttribute'를 추가하고'container.GetExportedValue()'를 부를 수 있습니다. –