¿Por qué necesito una interfaz para covarianza (tipo de salida)?

Solo necesito usar la covarianteout modificador de tipo genérico nuevamente. Tenía una clase con un tipo genérico y quería agregar unout pero VS me dijo que esto solo es posible en las interfaces.

¿Pero por qué puedo usar elout modificador solo en una interfaz?

Me ayudé a mí mismo a crear una copia de la interfaz de mi clase, pero me parece un poco extraño tener solo una interfaz para poder usar este modificador.

Respuestas a la pregunta(1)

Su respuesta a la pregunta