0

我有一个接口 iExportColumn 和一个实现接口的类 ExportColumn。ExportColumnCollection 类应该是所有实现 IExportColumn 接口的类的通用类。

public interface IExportColumn
{
    string Header { get; set; }
    string ColumnName { get; set; }
}

public class ExportColumn : IExportColumn
{
    public ExportColumn(){}
    public string Header { get; set; }
    public string ColumnName { get; set; }
}

public class ExportColumnCollection<T> where T: IExportColumn
{
    private List<T> cols;

    public ExportColumnCollection (List<T> c)
    {
        cols = c;
    }

    public T Columninfo (string colname)
    {
    }
      .....
 }

我收到运行时错误提示无法加载类型ExportColumnCollection

我正在寻找一些东西来实现类似的东西 List<IExportColumn> = new List<ExportColumn>();

我有两个实现接口 IExportColumn 的类,我需要持有一个 GenericCollection 来处理 List

4

1 回答 1

0

您的班级的正确用法是:

List<IExportColumn> list= new List<IExportColumn>();
// you may add to the collection any class which implements IExportColumn
list.Add(new ExportColumn1() { ColumnName = "Id" });
list.Add(new ExportColumn2() { ColumnName = "Value" });

ExportColumnCollection<IExportColumn> collection = new 
    ExportColumnCollection<IExportColumn>(list);
var colInfo = collection.ColumnInfo("Id");
于 2013-02-19T11:10:20.177 回答