わかりました、これは非常に基本的な質問ですが、私はそれに出くわしました。次のクラスを検討してください。
public class WindowComparer: IComparer, Generic.IComparer<Window> { }
シナリオ 1: 私が通常宣言する方法。
public int Compare (object x, object y)
{
return (this.Compare((Window) x, (Window) y));
}
public int Compare (Window x, Window y) {...}
シナリオ 2: MSDN ドキュメントで通常宣言されている方法。
int Collections.IComparer.Compare (object x, object y)
{
// [this.Compare] is not recognized. How to access this?
return (this.Compare((Window) x, (Window) y));
}
int Generic.IComparer<Window>.Compare (Window x, Window y) {...}
ただし、シナリオ 2 を試すと、Intellisense は Compare メソッドを失い、コンパイラは Compare メソッドが WindowComparer のメンバーではないというエラーを発生させます。私は何が欠けていますか?