Start Debugging
2023-03-18 Actualizado 2023-11-05 csharp Edit on GitHub

C# 11 - modificador de acceso file y tipos con ámbito de archivo

Aprende cómo el modificador file de C# 11 restringe el ámbito de un tipo al archivo en el que se declara, ayudando a evitar colisiones de nombres con los source generators.

El modificador file restringe el ámbito y la visibilidad de un tipo al archivo en el que se declara. Esto es especialmente útil en situaciones donde quieres evitar colisiones de nombres entre tipos, como en el caso de los tipos generados por los source generators.

Un ejemplo rápido:

file class MyLocalType { }

En cuanto a restricciones, tenemos lo siguiente:

Por otro lado:

Implementar implícitamente una interfaz con ámbito de archivo

Una clase pública puede implementar una interfaz con ámbito de archivo siempre que se definan en el mismo archivo. En el ejemplo siguiente tienes la interfaz con ámbito de archivo ICalculator, implementada por una clase pública 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.

< Volver