Ответы по Технологии программирования / Явная реализация членов интерфейса
.docxПри реализации члена интерфейса можно квалифицировать его имя с использованием имени интерфейса. В этом случае говорят, что член интерфейса реализуется явным образом, или имеет место его явная реализация. Например, при определении интерфейса
interface IMyiF {
int myMeth(int x);
}
Вполне допустимо реализовать интерфейс IMyiF следующим образом:
class MyClass : IMyIF{
int IMyIF.myMeth(int x) {
return x / 3;
}}
При реализации метода myMeth() члена интерфейса IMyiF указывается его полное имя, включающее имя интерфейса.
Явная реализация членов интерфейса может понадобиться по двум причинам. Во-первых, реализуя метод с использованием полностью квалифицированного имени, вы тем самым обозначаете части закрытой реализации, которые не "видны" коду, определенному вне класса. Во-вторых, класс может реализовать два интерфейса, которые объявляют методы с одинаковыми именами и типами. Полная квалификация именпозволяет избежать неопределенности ситуации.