将派生类型列表返回到基类型

本文关键字:类型 基类 返回 列表 派生 | 更新日期: 2023-09-27 18:28:57

我定义了如下类:

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;
 }

代码正在引发类型转换错误。我想让我的GetData方法具有这种实现的通用性。我该怎么做?

将派生类型列表返回到基类型

您可以简单地将GetData的实现更改为:

List<EmployeeBase> GetData()
{
    List<EmployeeBase> lstEmployees = new List<EmployeeBase>();
    // Add actual Employee objects to lstEmployees
    return lstEmployees;
}