在运行时创建的通用列表

Per*_*rry 1 c# generics list

我在C#中需要这样的东西..在课堂上有列表但是在运行时决定列表中的内容

class A
{
    List<?> data;
    Type typeOfDataInList;
}

public void FillData<DataTyp>(DataTyp[] data) where DataTyp : struct
{
    A a = new A();
    A.vListuBudouDataTypu = typeof(DataTyp);
    A.data = new List<A.typeOfDataInList>();
    A.AddRange(data); 
}
Run Code Online (Sandbox Code Playgroud)

这有可能做到这样吗?

jjx*_*tra 5

class A<T>
{
    public readonly List<T> Data = new List<T>();
    public Type TypeOfDataInList { get; private set; }

    public A()
    {
        TypeOfDataInList = typeof(T);
    }

    public void Fill(params T[] items)
    {
        data.AddRange(items);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您不知道类型或具有不同类型的多个对象,请声明A的实例,如下所示:

A<object> myClass = new A<object>();
myClass.Fill(new object(), new object());
Run Code Online (Sandbox Code Playgroud)

否则,如果您知道类型,则可以执行以下操作:

A<int> myInts = new A<int>();
myInts.Fill(1, 2, 5, 7);
Run Code Online (Sandbox Code Playgroud)