繁体   English   中英

Raw通用类型C#列表

[英]List of Raw generic type c#

我刚刚开始通过C#作为Java用户进行挖掘。 我遇到一个问题,声明了一个通用原始类型的列表。 考虑类A<T>B : A<String>C : A<Int16> 现在,我想声明类似List<A> list 我在这种声明时遇到问题,获取“ 泛型类型参数需要1个参数 ”。 有什么办法可以做这样的事情吗? 还是在C#中还有其他一些模式可以使用?

使用泛型类型时,必须指定type参数。 在这种情况下,要声明AList ,必须指定T 例如:

List<A<int>> list = new List<A<int>>();

或者看到BC都从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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM