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を実装する2つのクラスがあり、Listを処理するためにGenericCollectionを保持する必要があります

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 に答える