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 field
contextual , 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#.