似乎在 C# 4.0 中,方差说明符仅适用于接口类型。
所以假设我有 ViewModel / EditModel 类和一个简单的模型层次结构。
class MyEditModel<T> where T : Base { ... }
class Derived1 : Base { ... }
class Derived2 : Base { ... }
我有一个局部视图,它接受任何类型的 MyEditModel(只要它是从 Base 派生的)和另一个只接受 Derived1 实例的视图。现在如何在同一页面上呈现两者?
接受任何 MyEditModel 的局部视图将在 Derived1 的编辑器和 Derived2 的编辑器之间共享。