概要 Ver. 4.0 dynamic の用途の1つとして、多重ディスパッチというものを説明します。 ポイント 多重ディスパッチ(multiple dispatch): 複数のインスタンスの動的な型情報に基づいて、実際に呼び出すメソッドを切り替える (「仮想メソッド」の複数インスタンス版)。 dynamic を使うことで、ほんのちょっと多重ディスパッチの実装が楽に。 多重ディスパッチの話の前に、まずそもそもディスパッチ(dispatch)、訳すなら「配送」になるわけですが、 このディスパッチって何?って話から。 仮想メソッド呼び出しは、 オブジェクトに対してメッセージを送っているともみなせます。 例えば、下図のようなクラスを考えてみましょう。 仮想メソッド持ちのクラス 実装例を挙げると以下のような感じ。 interface Shape { double GetArea(); } class