código exacto que estoy tratando de construir:¿Por qué es esta una variación inválida?
public interface IMapContainer<out T> where T : MapRoomBase
{
String GetName();
IEnumerable<T> GetRooms();
}
que estoy recibiendo este error: varianza no válido: El parámetro de tipo 'T' debe ser válida en invariantly 'MapLibrary.IMapContainer.GetRooms()'. 'T' es covariante.
Tenía la impresión de que esto sería válido ya que IEnumerable simplemente devuelve los elementos y no se puede agregar ninguno. ¿Por qué esto no es seguro + válido?
Lo siento, pero ¿por qué 'out T'? ¿Lo necesitas 'out'? –
¿Por qué T es un parámetro de salida de su interfaz? ¿Qué estás intentando lograr? desde mi punto de vista que se ve extraño/incorrecto. –
@Xtian, Andre, http://msdn.microsoft.com/en-us/library/dd997386.aspx. –