C# 如何制作通用对象列表?
我在这种情况下遇到了麻烦: 我有一个通用类:C# 如何制作通用对象列表?,c#,generics,C#,Generics,我在这种情况下遇到了麻烦: 我有一个通用类: public class InformationsOlv<T> { private T _valeur; public String Nom { get; private set; } public DateTime TimeStamp { get; set; } ... } 并改变了信息,如下所示: public class InformationsOlv<T>:AInformation
public class InformationsOlv<T> {
private T _valeur;
public String Nom { get; private set; }
public DateTime TimeStamp { get; set; }
...
}
并改变了信息,如下所示:
public class InformationsOlv<T>:AInformationsOlv {
private readonly T _valeur;
...
}
在哪里?意思是:“子类将包含一个_valeur类变量,我不知道该变量是什么类型,子类将定义它”
多谢各位
有没有一种方法可以定义一个成员,其类型是mans“Children类将包含一个_valeur类变量,我不知道该变量是什么类型,Children将定义它”
确定-使用对象
作为类型:
protected object _valeur;
想想看-如果\u valeur
可以是不同的类型-您如何知道在编译时处理的是什么类型?那么你如何使用它呢
以
List
为例,假设您想要一个List如果您的子类要定义变量的类型,那么您在编译时无法在基类中访问它。那么,为什么要费心在那里添加它呢
您有两个选项,要么不将其添加到基类中,要么将其定义为对象
public abstract class AInformationsOlv
{
public String Nom;
public DateTime TimeStamp;
protected object _valeur;
}
不,我一个字也不懂。现在至少读两遍。我完全不明白你想说什么。我不太明白你为什么需要抽象类。使用泛型,您将得到您想要的:一个InfomationsOlv
将有一个\u valeur
类型int
。这不是你想要的吗?@germi我认为基类的目的是定义一个列表
,它可以是各种类型的信息solv
。太好了,谢谢你,我没有想到这一点
protected object _valeur;
var funkyList = new List<List<?>>();
funkyList.Add(new List<int>());
funkyList.Add(new List<Foo>());
funkyList.Add(new List<Bar>());
List<?> l = funkyList[1];
public abstract class AInformationsOlv
{
public String Nom;
public DateTime TimeStamp;
protected object _valeur;
}