タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

genericsに関するtksthdnrのブックマーク (1)

  • ジェネリクスの共変性・反変性(C# によるプログラミング入門)

    概要 Ver. 4.0 C# 4.0 で、ジェネリクスの型引数に共変性・反変性を持たせることが可能になりました。 (共変性・反変性という言葉の意味は「covariance と contravariance」参照。) ジェネリックの共変性・反変性 ジェネリクスの共変性・反変性というものがどういうものかというのを説明する前に、まず背景を。 ジェネリックコレクションに関して、昔から以下のようなことをしたいという要望がありました。 List<string> strings = {"aa", "bb", "cc"}; List<object> objs = strings; これを認めてしまうと何がまずいかというと、 以下のような不正な値の書き換えが起こり得る。 // strings と objs は同じオブジェクト objs[0] = 5; // int に書き換えられたらまずい string s

    ジェネリクスの共変性・反変性(C# によるプログラミング入門)
    tksthdnr
    tksthdnr 2016/03/20
    共変性 (covariance), 反変性 (contravariance)
  • 1