通用列表列表

时间:2010-06-22 14:36:39

标签: c# .net generics

我想创建一个对象列表,其中有一个通用列表。

所以我拥有的是这个对象:

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类型时。

这甚至可能吗?或者在这种情况下我需要使用基类对象吗?

也许有更好的方法来处理我想在内存中表示的数据。

2 个答案:

答案 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 = ...