0
我有一個接口的列表:從派生的接口的列表中選擇類
private IList<IPlugin> plugins;
我想有一個訪問方法,使用戶獲得的實施者名單說接口:
public IList<T> GetPlugins<T>() where T : IPlugin
{
// Create list
}
我看了多個例子,大會迭代。我已經實現了這一點,因爲我正在使用MEF,因此我的plugins
已經填充了繼承IPlugin的導出類。
我遇到的問題是使用程序集的方法不能轉換到我的List設置。我並不熟悉linq知道其他問題與我試圖達成的目標之間有什麼不同。
這些都是我看過的問題:
編輯爲清楚:
比方說,我有一些類:
public class Setting : IPlugin {}
public class AppearanceSetting : Setting {}
public class WebSettings : Setting {}
如果我有一個IPlugin的列表,我想使用我的上面的訪問者調用。
var settings = GetPlugins<Setting>(); // Get all implementors of Setting
我該如何做到這一點從List
?我發現的例子都使用Assembly。但是,如果我已經使用MEF完成了這項工作,那麼操縱IList以獲得我需要的類的最佳方法是什麼?如果這甚至是可能的。
我不確定問題是什麼 - 你已經創建了一個IPlugin對象列表,但不確定ho要訪問它? – 2014-11-14 21:34:34
你需要更清楚一些什麼是錯的 – BradleyDotNET 2014-11-14 21:35:13
你問在哪裏可以找到[Type.FullName](http://msdn.microsoft.com/en-us/library/system.type.fullname(v = vs.110)的.aspx)? – 2014-11-14 21:36:02