【发布时间】:2011-02-06 09:40:30
【问题描述】:
我想知道是否有人可以告诉我这种行为在 C# 4.0 中是否可行
我有一个我想保持强类型的对象层次结构。像这样的
class ItemBase {}
class ItemType<T> where T : ItemBase
{
T Base { get; set; }
}
class EquipmentBase : ItemBase {}
class EquipmentType : ItemType<EquipmentBase> {}
我想要做这样的事情
ItemType item = new EquipmentType();
我希望 item.Base 返回类型 ItemBase。基本上我想知道它是否足够聪明,可以在没有强类型的情况下对基类进行强类型泛型。这样做的好处是我可以简单地将 ItemType 转换回 EquipmentType 并再次获得所有强类型。
我可能想错了……
【问题讨论】:
标签: c# generics .net-4.0 polymorphism type-conversion