如何定义从类继承的任何特定类型的列表?

问题描述

我想创建一个抽象类,该类的任何派生类型都应实现一个名为Entries属性,该属性是该类型所有实例的列表。我的目标是在抽象类中,我希望能够管理实例列表并对其执行一些操作,这些操作对于所有继承类型都是完全相同的,但是我也希望将结果列表定义为包含特定子类型的实例,以便更轻松地访问而无需强制转换。

给出一个名为Person的抽象类和一个从其继承的名为Employee的类,例如:

  • Person应该能够像访问Entries一样访问和修改List<Person>
  • Employee应该能够像访问Entries一样访问,修改和公开相同的List<Employee>,从而使外界可以访问其自身专门定义的所有成员。
  • 对于Person的任何其他子类,上一点也应为true,然后将Entries视为自己的列表。

是否有可能在C#中实现此目的而无需每次访问列表时都将Person转换为Employee,并且不需要在每个子类型上定义一个单独的列表,而这些列表需要保持同步使用抽象类可访问的列表?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)