C#4.0がリリースされる前は、共変性と反変性に非常に興奮していました。それは理論的な正しさのために私の愛情に甘んじました!
しかし、それが終わって、私は通常の、毎日の、退屈なコードを書くことに戻ったので、私は疑問に思い始めています:私はまだそれを使用したことがありますか?そして、私はそれを意識的に使用していないことに気づきました。それ以来、私が定義したインターフェースやデリゲートはどれもその恩恵を受けていません。
後で無意識のうちに共分散を使用していることに気付いたのは1つのケースだけですが、それは非常に微妙であり、気付かなかった可能性もあります。想像してみてくださいX
。これは基本クラスでY
あり、その子孫です。
if (enumerableOfYs.Contains(variableOfTypeX))
共分散または反変性を実際の非考案のユースケースで使用し、見事に「正しい」ことで1日を本当に節約した、興味深いまたはエキサイティングな例はありますか?