Pertanyaan yang diberi tag covariance

Kovarian, kontravarian, dan invarian menggambarkan bagaimana hierarki pewarisan tipe yang ada berubah ketika mengalami beberapa transformasi (seperti penggunaan dalam obat generik). Jika transformasi mempertahankan urutan hierarki asli, itu disebut "kovarian". Jika membalikkannya, itu "kontravarian". Jika rusak, itu "tidak berubah".

162
Kovarian dan contravariance contoh dunia nyata

Saya mengalami sedikit kesulitan memahami bagaimana saya akan menggunakan kovarians dan contravariance di dunia nyata. Sejauh ini, satu-satunya contoh yang saya lihat adalah contoh array lama yang sama. object[] objectArray = new string[] { "string 1", "string 2" }; Akan menyenangkan untuk...

35
Apa yang membuat ValueTuple kovarian?

Ini mengkompilasi dengan benar dalam C # 7.3 (Kerangka 4.8): (string, string) s = ("a", "b"); (object, string) o = s; Saya tahu ini adalah gula sintaksis untuk yang berikut, yang juga mengkompilasi dengan benar: ValueTuple<string, string> s = new ValueTuple<string, string>("a",...