>>411
オペレータのこと?なら同意

>>404
たとえば、
public class EqualityComparer<T>
where T : IComparable{
 public bool Compare(T v1, T v2){
  return v1 != null && v1.CompareTo(v2) == 0;
 }
}
というようなクラスを宣言すると、

var stringComparer = new EqualityComparer<string>();
って宣言すれば、
stringComparer.Compare(ex1, ex2);
のように呼び出したとき、あたかも
public bool Compare(string v1, string v2){
/* 以下略 */
というメソッドが定義されているかのように、ex1とex2に対して型チェックが行われる。
故に、ex1とex2がそれぞれstring(に暗黙的に変換可能な)型でないと、コンパイルエラーになる。