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".


14
In C #, perché non è possibile archiviare un oggetto List <string> in una variabile List <object>
Sembra che un oggetto List non possa essere memorizzato in una variabile List in C # e non possa nemmeno essere espressamente cast in questo modo. List&lt;string&gt; sl = new List&lt;string&gt;(); List&lt;object&gt; ol; ol = sl; risulta in Impossibile convertire implicitamente il tipo System.Collections.Generic.List&lt;string&gt;inSystem.Collections.Generic.List&lt;object&gt; E poi... List&lt;string&gt; sl = new …

1
Cosa rende ValueTuple covariante?
Questo viene compilato correttamente in C # 7.3 (Framework 4.8): (string, string) s = ("a", "b"); (object, string) o = s; So che questo è lo zucchero sintattico per quanto segue, che si compila anche correttamente: ValueTuple&lt;string, string&gt; s = new ValueTuple&lt;string, string&gt;("a", "b"); ValueTuple&lt;object, string&gt; o = s; Quindi, …
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.