微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。