Domande taggate «covariance»

Covarianza, controvarianza e invarianza descrivono il modo in cui la gerarchia di ereditarietà del tipo esistente cambia quando è soggetta a qualche trasformazione (come l'utilizzo all'interno dei generici). Se la trasformazione mantiene l'ordine della gerarchia originale, è "covariante". Se lo inverte, è "controvariante". Se lo rompe, è "invariante".



9
Esempio di covarianza e contraddizione nel mondo reale
Sto avendo un po 'di problemi nel capire come userei la covarianza e la contraddizione nel mondo reale. Finora, gli unici esempi che ho visto sono stati lo stesso vecchio esempio di array. object[] objectArray = new string[] { "string 1", "string 2" }; Sarebbe bello vedere un esempio che …
162 c#  c#-4.0  covariance 


4
Perché la covarianza e la contraddizione non supportano il tipo di valore
IEnumerable<T>è una variante, ma non supporta il tipo di valore, ma solo il tipo di riferimento. Il codice semplice di seguito è stato compilato correttamente: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Ma cambiando da stringa intsi otterrà un errore compilato: IEnumerable<int> intList = new List<int>(); IEnumerable<object> objList …



7
La conversione dell'array co-variante da x a y può causare un'eccezione di runtime
Ho un private readonlyelenco di LinkLabels ( IList<LinkLabel>). Successivamente aggiungo LinkLabels a questo elenco e aggiungo quelle etichette FlowLayoutPanelcome segue: foreach(var s in strings) { _list.Add(new LinkLabel{Text=s}); } flPanel.Controls.AddRange(_list.ToArray()); ReSharper mi mostra un avvertimento: Co-variant array conversion from LinkLabel[] to Control[] can cause run-time exception on write operation. Aiutatemi a …







9
C # supporta la covarianza del tipo restituito?
Sto lavorando con il framework .NET e voglio davvero essere in grado di creare un tipo di pagina personalizzato che utilizzi tutto il mio sito web. Il problema si verifica quando cerco di accedere alla pagina da un controllo. Voglio essere in grado di restituire il mio tipo specifico di …
88 c#  covariance 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.