在编译时不知道类型的情况下创建IEnumerable[]
本文关键字:创建 IEnumerable 情况下 编译 不知道 类型 | 更新日期: 2023-09-27 17:52:18
我在一种情况下,我必须创建一个实例,而不知道在编译时的类型。
我的代码是这样的: IEnumerable[] columns = new IEnumerable[5];
columns[0] = new string[]{};
我必须能够在不知道类型(在上面的例子中是字符串)的情况下创建列[0]。
我找不到解决这个问题的方法,欢迎大家提建议。
提前感谢。
可以这样使用泛型:
class MyBusiness<T> where T: new()
{
public List<T> coll { get; set; }
public MyBusiness(){
coll = new List<T>();
}
public void DoSth(){
T t = new T();
coll.Add(t);
}
}
您将需要了解泛型。它们允许你创建一个类,在使用它之前不需要知道它的类型是什么。
public class Column<T>
{
public T Item { get; set; }
}
所以你可以在你的程序中这样使用它:
var columns = new IEnumerable<Column<string>>();