【发布时间】:2015-06-03 08:51:37
【问题描述】:
public void GenerateExcelReport(List<EventHistory> lstData)
{
}
如果我想传递所有类型的列表,我使用上面的列表作为参数(即“EventHistory”类的列表),那么一般如何创建列表参数?
【问题讨论】:
标签: c#-4.0 generic-list
public void GenerateExcelReport(List<EventHistory> lstData)
{
}
如果我想传递所有类型的列表,我使用上面的列表作为参数(即“EventHistory”类的列表),那么一般如何创建列表参数?
【问题讨论】:
标签: c#-4.0 generic-list
如果你想处理所有类型的列表,唯一通用的是List<T>中的t:
public void GenerateExcelReport<T>(List<T> lstData)
{
// ...
}
既然您提到要“接受所有类型的类?”,您可以添加一个约束以只允许类而不是值类型:
public void GenerateExcelReport<T>(List<T> lstData) where T: class
{}
【讨论】:
您需要将 T 的泛型类型参数添加到您的方法中:
void GenerateExcelReport<T>(List<T> list){
}
然后调用它:
GenerateExcelReport(stringList);
GenerateExcelReport(objectList);
【讨论】: