簡體   English   中英

將類型傳遞給在泛型中使用的方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM