Мне было интересно, может ли кто-нибудь сказать мне, возможно ли такое поведение в 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 и снова получить всю типизацию.
Возможно, я думаю, что все это неправильно ...