えーと、いまさらながら、C# 2.0 の新機能のメモです・・・
ええ、しりませんでしたとも・・・orz...


http://msdn2.microsoft.com/ja-jp/library/ms173174(VS.80).aspx

C# プログラミング ガイド
デリゲートの共変性と反変性 (C# プログラミング ガイド)

共変性と反変性により、メソッドのシグネチャをデリゲート型に柔軟に一致させることができます。共変性により、メソッドの戻り値の型の派生をデリゲートに定義されている型より強くすることができます。反変性により、メソッドのパラメータ型の派生をデリゲート型より弱くすることができます。

共変性
 戻り値の型が、デリゲートの戻り値の型の派生クラスになっていても OK
 共変性により、メソッドの戻り値の型の派生をデリゲートに定義されている型より強くすることができます。

反変性
 引数の型が、デリゲートの引数の型の基底クラスになっていても OK。
 反変性により、メソッドのパラメータ型の派生をデリゲート型より弱くすることができます。


参考にしたところ
(++C++; // 未確認飛行 C++ )
C# 2.0 の新機能
  デリゲートの Covariance/Contravariance
  http://ufcpp.net/study/csharp/ap_ver2.html#co-contra