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

aka*_*ari 5 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;
Run Code Online (Sandbox Code Playgroud)

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

非常感谢

Mar*_*ell 11

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

public class Table<T>
{
    public string Name {get; set}
    public IList<T> DataSource {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

对于非通用数据,您可以选择使用非泛型数据IList; 然而,在核心框架中,使用它object作为a 是相当常规的DataSource,因为这允许使用两者IListIListSource(获取列表的抽象).