Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpTyDi 147 of 509 menu
◀ ▶

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

Метод с телом в интерфейсе задаёт поведение по умолчанию. Класс может ничего не писать и получить готовую реализацию, либо объявить свой метод с тем же контрактом и заменить её.

Класс Widget не объявляет свой Describe. Через интерфейс вернётся строка из интерфейса. Вызов через интерфейс нужен, когда метод не объявлен в публичном API класса, а живёт только в контракте:

Widget w = new Widget(); Console.WriteLine(((INamed)w).Describe()); interface INamed { string Describe() => "item"; } class Widget : INamed;

Верните из метода интерфейса по умолчанию строку "v1", не объявляя этот метод в классе.

Объявите в классе свою версию метода и выведите строку "v2".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить