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