我想创建一个对象列表,其中有一个通用列表。
所以我拥有的是这个对象:
public class agieDBColumn<dataTp> where dataTp:IComparable{
private string _header;
private string _longHeaderName;
private List<dataTp> _data;
public string header {
get { return _header; }
set { _header = value; }
}
public string longHeaderName {
get { return _longHeaderName; }
set { _longHeaderName = value; }
}
public List<dataTp> data {
get { return _data; }
set { _data = value; }
}
}
这就是我想用它的方式:
List<DBColumn> columns;
然后我想将新实例添加到指定类型的列“columns”中。
似乎没有允许这样的语法虽然我得到“错误1使用泛型类型Picker.DBColumn<dataTp>
需要1
类型参数Frm.cs 56 9 FCAgieStratPicker
“当我试图定义我想要的List类型时。
这甚至可能吗?或者在这种情况下我需要使用基类对象吗?
也许有更好的方法来处理我想在内存中表示的数据。
答案 0 :(得分:1)
您最终想要实现的内容似乎已由System.Data.DataTable
类提供。
添加列:
DataTable dataTable = new DataTable();
DataColumn column = dataTable.Columns.Add(header, type);
column.Caption = longHeaderName;
添加行:
dataTable.Rows.Add(someIntValue, someStringValue, ...)
答案 1 :(得分:0)
您的类型是通用的。如果要创建该类型的列表,您还需要指定类的类型。
List<agieDBColumn<int>> columns = ...