Effective C# 3rd 読書メモ 18 最小限かつ十分な制約を定義する

ジェネリクスの型パラメータに宣言する制約は、クラスが役割を果たすのに必要な振る舞いを特定する。
制約を行うのとは別のアプローチとして、渡された型が条件を満たすか実行時にチェックする、という方式もある。
これに対して、型パラメータで制約を行えば、コンパイル時にエラーになるため、実行時エラーよりも早く間違いに気づくことができる。
しかし、制約が厳しすぎると、クラスの利用者にとって使いづらくなってしまう。
ジェネリクスの型パラメータには、最小限かつ十分な制約を定義することが重要である。

コメントを残す