[英]Passing Type to Method for Use in Generic
我試圖了解為什么以下代碼不起作用以及如何更改它以使其起作用。 簡而言之,我試圖將Type傳遞給方法,然后在聲明List時使用該Type。
public void TestMethod(Type type)
{
List<type> items = new List<type>();
}
我收到錯誤消息:“'type'是變量,但像類型一樣使用”
謝謝!
那將是:
public void TestMethod<T>()
{
List<T> items = new List<T>();
}
至於理論,評論中的人很好地解釋了這一點。 您可以隨時查看有關泛型的文檔:)
您不能沒有反思。 但是,您可以通過反射來實現。
string typeName = "System.String";
Type typeArg = Type.GetType(typeName);
Type genericClass = typeof(List<>);
Type newClass = genericClass.MakeGenericType(typeArg);
object created = Activator.CreateInstance(newClass);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.