我有以下擴展方法:擴展方法沒有發現(未裝配參考問題)
public static EntitySet<T> ToEntitySetFromInterface<T, U>(this IList<U> source)
where T : class, U
{
var es = new EntitySet<T>();
IEnumerator<U> ie = source.GetEnumerator();
while (ie.MoveNext())
{
es.Add((T)ie.Current);
}
return es;
}
和Im嘗試如下使用它:
List<IItemMovement> p = new List<IItemMovement>();
EntitySet<ItemMovement> ims = p.ToEntitySetFromInterface<ItemMovement, IItemMovement>();
其中ItemMovement實現IItemMovement。編譯器會抱怨:
「System.Collections.Generic.List」不包含一個 定義爲「ToEntitySetFromInterface」和沒有擴展方法 「ToEntitySetFromInterface」接受 類型的第一參數「System.Collections.Generic 。列表'可以找到( 你缺少一個使用指令或程序集參考嗎?)
不,我不缺少一個參考。如果我只是輸入包含它彈出的方法的靜態類的名稱,那麼擴展方法也是如此。 Thnx
im not sure List list = new List ();會編譯? –
AaronHS
2012-03-06 11:30:18
否則這個代碼適用於我(帶有嘲弄的ItemMovement和IItemMovement – AaronHS 2012-03-06 11:32:24
我相信這個問題與intellisense無關,如果你不能編譯它,那麼它幾乎不會是intellisense的錯誤 – demoncodemonkey 2012-03-06 11:45:48