我在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);
}

这可能做这样的事情吗?

最佳答案

是。

class A
{
    IList data;
    Type typeOfDataInList;
}

public void FillData<T>(T[] data) where T : struct
{
    A a = new A();
    A.typeOfDataInList = typeof(T);
    A.data = new List<T>(data);
}


最好使A类通用:

class A<T>
{
    IList<T> data;
    Type typeOfDataInList;
}

public void FillData<T>(T[] data) where T : struct
{
    A<T> a = new A<T>();
    a.typeOfDataInList = typeof(T);
    a.data = new List<T>(data);
}

关于c# - 在运行时创建通用列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2510781/

10-08 23:15