Compartir a través de


field - Declaraciones de propiedad respaldadas por campos

Importante

La field palabra clave es una característica en versión preliminar en C# 13. Debe usar .NET 9 y establecer el <LangVersion> elemento preview en en el archivo de proyecto para poder usar la field palabra clave contextual.

Debe tener cuidado con el uso de la field característica de palabra clave en una clase que tenga un campo denominado field. La nueva field palabra clave sombrea un campo denominado field en el ámbito de un descriptor de acceso de propiedad. Puede cambiar el nombre de la field variable o usar el @ token para hacer referencia al field identificador como @field. Para más información, lea la especificación de características de la field palabra clave .

La palabra clave fieldcontextual , agregada como característica de vista previa en C# 13, se puede usar en un descriptor de acceso de propiedad para acceder al campo de respaldo sintetizado del compilador de una propiedad. Esta sintaxis permite definir el cuerpo de un get descriptor de acceso o set y permitir que el compilador genere el otro descriptor de acceso como lo haría en una propiedad implementada automáticamente.

La adición de las field palabras clave contextuales proporciona una ruta de acceso fluida para agregar ventajas, como la comprobación de intervalos a una propiedad implementada automáticamente. Esta práctica se muestra en el ejemplo siguiente:

class TimePeriod4
{
    public double Hours {
        get;
        set => field = (value >= 0)
            ? value
            : throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
    }
}

Puede implementar la Hours propiedad como una propiedad implementada automáticamente. A continuación, descubrirá que desea proteger frente a un valor negativo. field Use y proporcione la comprobación de intervalos en el descriptor de set acceso. No es necesario declarar el campo de respaldo manualmente y proporcionar un cuerpo para el descriptor de get acceso.

Para obtener más información, vea los artículos Propiedades e Indizadores.

Especificación del lenguaje C#

Para obtener más información, consulte la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.