我想通过类型绑定到对象instanced。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来为它注入一种类型。 – 2011-02-24 20:28:16
我改变了我的问题,以便更准确。 – 2011-02-24 20:49:35
@Daok你不能那样做。 MEF无法知道您创建的对象完全独立于它。您可以将一个'ExportAttribute'添加到'Samurai'并调用'container.GetExportedValue()'。 –
2011-02-24 21:15:54