Интерфейсы C #. Неявная реализация против явной реализации - PullRequest
605 голосов
/ 27 сентября 2008

Чем отличаются реализации интерфейсов неявно и явно в C #?

Когда вы должны использовать неявное и когда вы должны использовать явное?

Есть ли плюсы и / или минусы одного или другого?


Официальное руководство Microsoft (из первого издания Framework Design Guidelines ) гласит, что использование явных реализаций не рекомендуется , поскольку это дает коду неожиданное поведение.

Я думаю, что это руководство очень действительно в период до IoC , когда вы не передаете вещи как интерфейсы.

Может ли кто-нибудь затронуть и этот аспект?

Ответы [ 11 ]

1 голос
/ 04 ноября 2012

Одним из важных применений явной реализации интерфейса является необходимость реализации интерфейсов с смешанной видимостью .

Проблема и решение хорошо объяснены в статье C # Внутренний интерфейс .

Например, если вы хотите защитить утечку объектов между прикладными уровнями, этот метод позволяет указать различную видимость элементов, которые могут вызвать утечку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...