C# 将派生类型列表返回到基类型
我将类定义如下:C# 将派生类型列表返回到基类型,c#,C#,我将类定义如下: public abstract class EmployeeBase { } public class Employee: EmployeeBase { public string Name { get; set; } public string Status { get; set; } } List<EmployeeBase> GetData( ) { List<Employee> lstEmployees = new List
public abstract class EmployeeBase
{
}
public class Employee: EmployeeBase
{
public string Name { get; set; }
public string Status { get; set; }
}
List<EmployeeBase> GetData( )
{
List<Employee> lstEmployees = new List<Employee>();
return lstEmployees;
}
现在,我编写了一个方法,如下所示:
public abstract class EmployeeBase
{
}
public class Employee: EmployeeBase
{
public string Name { get; set; }
public string Status { get; set; }
}
List<EmployeeBase> GetData( )
{
List<Employee> lstEmployees = new List<Employee>();
return lstEmployees;
}
List GetData()
{
List lstEmployees=新列表();
返回员工;
}
代码引发类型转换错误。我想用这种实现使我的GetData方法通用。我怎么能做到 您只需将GetData的实现更改为:
List<EmployeeBase> GetData()
{
List<EmployeeBase> lstEmployees = new List<EmployeeBase>();
// Add actual Employee objects to lstEmployees
return lstEmployees;
}
List GetData()
{
List lstEmployees=新列表();
//将实际的Employee对象添加到lstEmployees
返回员工;
}
为什么不在GetData中实例化List
,或者将GetData的返回类型更改为List
?需要更多信息来确定正确的方法。post显示缺少研究EmployeeBase是一个抽象类,GetData方法将返回从EmployeeBase派生的实体。GetData方法应该能够返回从Employee Base派生的任何类型的列表。我如何才能做到这一点?