使用類型變數動態建立泛型實例
在 C# 中,泛型類型提供了一種方便的方式來定義和使用可以與各種資料類型一起工作的資料結構。但是,在某些情況下,您可能需要使用包含類型的變數來建立泛型類型的實例。
下面的程式碼嘗試使用包含 double 類型類型的變數 k 建立一個 List
<code class="language-c#">Type k = typeof(double); List<k> lst = new List<k>();</code>
為了解決這個問題,您可以使用以下方法:
以下是修正後的程式碼:
<code class="language-c#">var genericListType = typeof(List<>); // 注意<> var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType);</code>
透過此方法,您可以使用包含 Type 的變數動態建立泛型類型的實例。這種靈活性可讓您處理複雜的資料結構和泛型類型需要透過程式設計方式確定的場景。 注意typeof(List<>)
中的<>
,它表示這是一個泛型類型,而不是具體的類型。
以上是如何使用類型變數在 C# 中動態建立泛型實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!