When you implicitly cast an object of type string[]
to object[]
, the backing store is still of type string[]
.
According to Eric Lippert, this particular kind of covariance is broken. He sais that 'It was added to the CLR because Java requires it and the CLR designers wanted to be able to support Java-like languages.'