Ci sono alcune domande & risposte su incisione intorno alla limitazione di C# non permettere il metodo di ritorno (e argomento) tipi di essere cambiato per tipi compatibili sulle sostituzioni, ma perché fa questa limitazione esiste, sia nel compilatore C# o nel CLR? Come posso vedere, non c'è nulla che potrebbe rompersi se fosse permessa la co/contro-varianza, quindi qual è il ragionamento che sta dietro?Perché C#/CLR non supporta il metodo override co/controper varianza?
Una domanda simile potrebbe essere chiesto per l'ampliamento parametri di accesso - ad esempio l'override un metodo interno protetto con un metodo pubblico (cosa che supporta Java, IIRC)
Perché il voto per chiudere? –