gpt4 book ai didi

c# - 具有泛型的子项列表

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:26 25 4
gpt4 key购买 nike

<分区>

我需要在一个列表中保留一个基类的几个 child 。通常这不是问题,但由于涉及泛型,这让我头疼。我的基类如下所示:

public abstract class Equipment<T> where T:EquipmentData { }

现在一个 child 可能看起来像:

public class Weapon : Equipment<WeaponData> { }

public class WeaponData : EquipmentData { }

类似的还有:

public class Shield : Equipment<ShieldData> { }
public class ShieldData : EquipmentData { }

现在我需要一个包含 Equipment<T> 的 child 的列表但显然List<T>要求我更具体,比如 List<Equipment<EquipmentData>> .但是,当我尝试添加 Weapon 时反对该列表,我收到无法转换 Weapon 的错误进入Equipment<EquipmentData> .当然将列表更改为 List<Equipment<WeaponData>>会工作,但我将无法添加 Shield出于相同(明显)的原因反对该列表。

本质上我的问题是是否有某种方法可以使列表成为

List<Equipment< child EquipmentData >> 这样就需要 Weapon对象以及 Shield对象?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com