[英]Generic method inside non-generic class
我正在使用.net Framework 4.0
我想在一個非泛型類中創建一個泛型方法,但它給了我編譯時錯誤
錯誤:找不到類型或名稱空間名稱“ T”(您是否缺少using指令或程序集引用?)
public class BlIAllClass
{
public static List<T> xyz()
{
List<T> cc = new List<T>();
return cc;
}
}
約翰·保羅·瓊斯 ( John Paul Jones)的 泛型方法在非泛型類中也有一個問題
他在那里提到可以在非泛型類中創建泛型方法。
那我的代碼出了什么問題。
是與框架版本相關的問題還是我錯過了一些東西
您需要在方法名稱本身中指定通用類型<T>
,如下所示:
public class BlIAllClass
{
public static List<T> xyz<T>()
{
List<T> cc = new List<T>();
return cc;
}
}
您需要將通用類型參數添加到方法簽名中。
public static List<T> xyz<T>()
{
List<T> cc = new List<T>();
return cc;
}
是的,您可以在兩個級別上應用泛型類型。 您可以在方法級別和類級別(兩者都是可選的)上應用通用類型。 如上例所示,您在方法級別應用了通用類型,因此,您還必須在方法返回類型和方法名稱上應用通用。
您需要更改一些代碼。 請參閱以下內容。
public static List<T> xyz<T>()
{
List<T> cc = new List<T>();
return cc;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.