Найти в Дзене
47 подписчиков

C# 8 и default interface methods


В C# 8 представили default interface methods. В статье же рассказывается о нюансах и деталях реализации методов интерфейсов по умолчанию. Ну основной проблемой, что чтобы ими пользоваться, нужно кастить явно к интерфейсу или изначально пользоваться интерфейсом (второе хорошо и лайк в среднем, так как интерфейсы для этого и нужны). Но скажем в случае структур явный каст к интерфейсу очевидно должен вызывать боксинг.

Мне сам по себе концепт нравится. Когда я заморачиваюсь, я системы с потенциалом модификации или замены модулей в рантайме пишу чисто на интерфейсах. И в целом писать на интерфейсах привычка неплохая. И до C#8 меня бесило, что для некоторых вещей приходилось заводить абстрактные классы, там где это не особо надо, или же вводить класс Utils куда выносить какой-то обобщённый метод, который по сути относится в системе только к конкретному интерфейсу. И эту фишку я считаю очень удобной в восьмом шарпе. Поэтому если вы не в курсе нюансов работы с ней — полезно почитать.

А вы пользуетесь default interface methods? Как к ним относитесь в целом? Или они забирают у абстрактных классов последний хлеб?

#новости
1 минута