TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.77K subscribers
Post #2114 2.04K
День 1744. #Оффтоп
У Интерфейсов Могут Быть Приватные Методы

Вот вам немного бесполезных знаний. Интерфейсы могут иметь приватные методы.

Это связано с функцией C#8: «реализация интерфейса по умолчанию». Она позволяет нам определить реализацию по умолчанию для метода в интерфейсе. Это полезно, когда мы хотим добавить новый метод к интерфейсу, но не хотим разрушать все классы, реализующие этот интерфейс. Что-то вроде этого:

public interface IMyInterface
{
public void MyMethod()
{
// Что-то делаем
}
}

public class MyClass : IMyInterface
{
// Не надо реализовывать MyMethod
}

Но при использовании мы не можем вызвать MyMethod из MyClass:
cs 

var myClass = new MyClass();
myClass.MyMethod();

Код выше не скомпилируется. Метод надо вызвать вот так:

IMyInterface myInterface = myClass;
myInterface.MyMethod();

И чтобы ещё больше всё запутать, мы также можем провести рефакторинг приватных членов интерфейса:

public interface IMyInterface
{
public void MyMethod()
{
MyPrivateMethod();
}

private void MyPrivateMethod()
{
// что-то делаем
}
}

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

Источник: https://steven-giesel.com/blogPost/03957748-73b3-40f9-a9f7-cc95501a3a8e
  • 👍 16
More from @netdeveloperdiary
  1. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  2. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
  3. Oct 8, 2026День 2808. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Начало В ИТ есть се…
  4. Oct 7, 2026День 2807. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Окончание Нач…
  5. Oct 6, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  6. Oct 6, 2026День 2806. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Начало Больши…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →