考慮事項:EqualityComparer.Defaultプロパティ、MSDNに書かれている:
Default プロパティは、型 T が System.IEquatable インターフェイスを実装しているかどうかを確認し、実装している場合は、その実装を使用する EqualityComparer を返します。それ以外の場合は、T によって提供される Object.Equals および Object.GetHashCode のオーバーライドを使用する EqualityComparer を返します。
私の理解: EqualityComparer "オブジェクト" が返されるため、T によって提供される Object.Equals および Object.GetHashCode のオーバーライドを呼び出す必要があります (それ以外の場合は Object.Equals および Object.GetHashCode をオーバーライドする場合)。IEquatable の実装されたメソッドをどのように呼び出すことができますか? 無理矢理やってるの?はいの場合、どのように?私が間違っている場合は修正してください。
MSDN リンクは次のとおりです: http://msdn.microsoft.com/en-us/library/ms224763.aspx