为什么.net中的泛型类对它们的泛型参数是不变的
本文关键字:参数 泛型 net 泛型类 为什么 | 更新日期: 2023-09-27 18:11:32
为什么在。net模板中泛型类是对泛型参数的不变操作?接口和委托不是,但是类是。
例如,我希望能够将类型为Expression<Func<string>>
的对象分配给Expression<Func<object>>
。因为Func<T>
中的T是"out"的,而Expression
是不可变的,所以像我所展示的那样分配它是合理的,对吗?
如果类允许变体类型参数,则不能在任何字段中使用它们,因为字段总是(至少有时)可写可读。