У меня есть интерфейс, как показано ниже:проблема C# Интерфейс с областью видимости функции
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, я не могу назвать третью функцию. Я получаю ошибку:
The name 'Open' does not exist in the current context
Ладно, так что я реализующий интерфейс явно (в связи с требованием от другой команды в организации), а затем я получаю «Open» контекста вопроса. Я могу удалить явный IInterface из трех открытых методов, а затем я могу успешно скомпилировать, даже если другие методы (не перечисленные здесь) реализованы явно, но я не уверен, каковы последствия этого.
Есть ли способ вызвать третий метод при явной реализации методов интерфейса?
Спасибо!