我一直在努力,並試圖使我的通用擴展方法的工作,但他們只是拒絕,我不知道爲什麼。 This thread didn't help me, although it should.將通用擴展方法添加到接口,如IEnumerable
當然,我擡頭一看怎麼樣,我到處看看他們說這很簡單,它應該在這個語法:
(在某些地方,我讀了我需要添加「其中T:類型]」參數decleration後,但我的VS2010只是說這是一個語法錯誤)
using System.Collections.Generic;
using System.ComponentModel;
public static class TExtensions
{
public static List<T> ToList(this IEnumerable<T> collection)
{
return new List<T>(collection);
}
public static BindingList<T> ToBindingList(this IEnumerable<T> collection)
{
return new BindingList<T>(collection.ToList());
}
}
但是,這是行不通的,我得到這個錯誤:
The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)
如果我再更換
public static class TExtensions
通過
public static class TExtensions<T>
它給出了這樣的錯誤:
Extension method must be defined in a non-generic static class
任何幫助將非常感激,我真的被困在這裏。
天啊,我知道這是愚蠢的。謝謝一堆!不能相信我錯過了那個> – FrieK