私は以下のようなインターフェースを持っています:
public interface IInterface
{
void Open();
void Open(bool flag);
void Open(bool flag, bool otherFlag);
}
インターフェイスを実装すると、次のようになります。
public class IClass : IInterface
{
void IInterface.Open()
{
Open(false, false);
}
void IInterface.Open(bool flag)
{
Open(flag, false);
}
void IInterface.Open(bool flag, bool otherFlag)
{
//Do some stuff
}
}
今、私が直面している問題は、IClass の最初の 2 つの関数本体内で、3 番目の関数を呼び出せないことです。エラーが発生します:
名前 'Open' は現在のコンテキストに存在しません
さて、(組織内の別のチームからの要件により) インターフェイスを明示的に実装すると、「オープン」コンテキストの問題が発生します。3 つのオープン メソッドから明示的な IInterface を削除すると、明示的に実装された他のメソッド (ここには記載されていません) を使用しても正常にコンパイルできますが、これが何を意味するのかはわかりません。
インターフェイスメソッドを明示的に実装しながら、3 番目のメソッドを呼び出す方法はありますか?
ありがとう!