codice esatto sto cercando di costruire:Perché si tratta di una varianza non valida?
public interface IMapContainer<out T> where T : MapRoomBase
{
String GetName();
IEnumerable<T> GetRooms();
}
sto ottenendo questo errore: varianza non valido: Il parametro di tipo 'T' deve essere invariantly valido 'MapLibrary.IMapContainer.GetRooms()'. 'T' è covariante.
Ho avuto l'impressione che ciò sarebbe valido poiché IEnumerable restituisce semplicemente gli elementi e nessuno può essere aggiunto. Perché questo non è sicuro + valido?
Mi dispiace, ma perché 'out T'? Ti serve questo? –
Perché T è un parametro out dalla tua interfaccia ?? Cosa stai cercando di ottenere? dal mio punto di vista che sembra strano/sbagliato. –
@Xtian, Andre, http://msdn.microsoft.com/en-us/library/dd997386.aspx. –