Start Debugging
2023-03-18 Обновлено 2023-11-05 csharp Edit on GitHub

C# 11 - модификатор доступа file и типы с областью файла

Узнайте, как модификатор file в C# 11 ограничивает область типа файлом, в котором он объявлен, помогая избежать коллизий имён с генераторами исходного кода.

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

Краткий пример:

file class MyLocalType { }

Что касается ограничений, имеется следующее:

С другой стороны:

Неявная реализация интерфейса с областью файла

Публичный класс может реализовывать интерфейс с областью файла при условии, что они определены в одном файле. В примере ниже показан интерфейс с областью файла ICalculator, реализуемый публичным классом Calculator.

file interface ICalculator
{
    int Sum(int x, int y);
}

public class Calculator : ICalculator
{
    public int Sum(int x, int y) => x + y;
}

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад