我想用MEF加載一個DLL作爲需要的時候,但是,我讀過的教程中的信息並不是最有用的。MEF加載DLL一個接一個
This site給出了一些代碼(如下所示),但沒有真正解釋任何事情。
private void LoadPlugins() {
var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
var container = new CompositionContainer(catalog);
var batch = new CompositionBatch();
batch.AddPart(this);
container.Compose(batch);
}
基本上我有一個Run方法的接口,我正在實現與幾個DLL的接口。我後是可以做這樣的事情(僞代碼)
bob = LoadDll(dllPath);
bob.Run();
有沒有指定「Bob」的類型的方式或者這將是通用的?如果有人可以幫助,我會非常感激!
你怎麼知道要加載哪一個? MEF的意義在於,除了抽象/接口定義之外,你不知道任何*關於具體類型的東西;你如何確定從一個特定的DLL加載導入是合適的? – arootbeer 2010-11-24 15:49:52