为什么.net中的泛型类对它们的泛型参数是不变的

本文关键字:参数 泛型 net 泛型类 为什么 | 更新日期: 2023-09-27 18:11:32

为什么在。net模板中泛型类是对泛型参数的不变操作?接口和委托不是,但是类是。

例如,我希望能够将类型为Expression<Func<string>>的对象分配给Expression<Func<object>>。因为Func<T>中的T是"out"的,而Expression是不可变的,所以像我所展示的那样分配它是合理的,对吗?

为什么.net中的泛型类对它们的泛型参数是不变的

如果类允许变体类型参数,则不能在任何字段中使用它们,因为字段总是(至少有时)可写可读。