在C#</t>中的类属性声明中使用<t>

时间:2010-07-27 07:22:15

标签: c#

我有一个这样的课程

public class Tbl
{
    public string Name {get; set}
    public anyClass Datasource {get; set;} //I don't know what to use there
}

//Usage:
List<anyClass> anyList = GetList(); // Assuming I had a list
Tbl Table = new Tbl();
Table.Name = "Table1";
Table.Datasource = anyList;

在这里,我的问题是使数据源可以接受任何输入类。如何以正确的方式声明Table类的数据源?

非常感谢

2 个答案:

答案 0 :(得分:11)

如果是Tbl<T>,您可以选择将IList<T>公开为DataSource

public class Table<T>
{
    public string Name {get; set}
    public IList<T> DataSource {get; set;}
}

对于非通用数据,您可能选择使用非通用IList;但是,在核心框架中,使用object作为DataSource是相当常规的,因为这允许使用IListIListSource(围绕获取列表的抽象)

答案 1 :(得分:2)

您使用的类型为Object

public object Datasource { get; set; }

如果要使用泛型来指定类型:

public class Tbl<T> {
  public string Name { get; set }
  public T Datasource { get; set; }
}