Why in .Net templating a generic class is an invariant operation towards generic arguments? Interfaces and delegates are not, but classes are.
For instance, I would like to be able to assign object of type Expression<Func<string>>
to Expression<Func<object>>
. As T in Func<T>
is "out" and Expression
is immutable, it would be reasonable to assign it as I have showed, right?