Похоже, что в C# 4.0 спецификаторы вариации применимы только к типам интерфейсов.
Итак, допустим, у меня есть классы ViewModel/EditModel и простая иерархия моделей.
class MyEditModel<T> where T : Base { ... }
class Derived1 : Base { ... }
class Derived2 : Base { ... }
У меня есть частичное представление, которое принимает MyEditModel любого типа (при условии, что оно является производным от Base), а другое — только экземпляры Derived1. Теперь, как мне отобразить оба на одной странице?
Частичное представление, которое принимает любую модель MyEditModel, будет совместно использоваться редактором для Derived1 и редактором для Derived2.