[英]List of Raw generic type c#
我剛剛開始通過C#作為Java用戶進行挖掘。 我遇到一個問題,聲明了一個通用原始類型的列表。 考慮類A<T>
和B : A<String>
, C : A<Int16>
。 現在,我想聲明類似List<A> list
。 我在這種聲明時遇到問題,獲取“ 泛型類型參數需要1個參數 ”。 有什么辦法可以做這樣的事情嗎? 還是在C#中還有其他一些模式可以使用?
使用泛型類型時,必須指定type參數。 在這種情況下,要聲明A
的List
,必須指定T
例如:
List<A<int>> list = new List<A<int>>();
或者看到B
和C
都從A
派生並顯式指定T
,那么您可以:
List<B> list = new List<B>();
List<C> list = new List<C>();
更新1
在使用以下示例之前,我必須承認,我對使用
dynamic
List
的實用性/實用性或可能出現的問題沒有多加考慮,而只是想我會提出建議。
public class A<T>
{
public T Value { get; set; }
}
List<A<dynamic>> list = new List<A<dynamic>>();
list.Add(new A<dynamic> { Value = "Hello World" });
list.Add(new A<dynamic> { Value = 100 });
foreach(A<dynamic> item in list)
{
Console.WriteLine(item.Value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.