Effective C# 3rd 読書メモ 25 ジェネリッククラスよりもジェネリックメソッドを使う

一般に、ジェネリッククラスよりも、非ジェネリッククラスにジェネリックメソッドが用意されている方が、使い勝手がよい。

上記サンプルでは、UtilsByGenericMethodの方が、 (1) 呼び出し側での型パラメータの指定が不要 (2) doubleに特化した処理を実装しやすく、かつ、オーバーロードの選択がコンパイラ任せなのでパフォーマンスが良い という点で優れている。

原則として非ジェネリッククラスにジェネリックメソッドを定義し、以下の場合にのみジェネリッククラスを定義すべきである。
(1) 型パラメータにより指定される型の値をクラスが保持する場合(Collection等)
(2) クラスがジェネリックインターフェイスを実装する場合

コメントを残す