Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
La palabra clave set define un método de descriptor de acceso en una propiedad o indexador que asigna el valor de la propiedad o del elemento del indexador. Para obtener más información y ejemplos, vea Propiedades, Propiedades implementadas automáticamente e Indizadores.
La documentación de referencia del lenguaje C# cubre la versión más reciente publicada del lenguaje C#. También contiene documentación inicial sobre las características de las versiones preliminares públicas de la próxima versión del lenguaje.
La documentación identifica cualquier característica introducida por primera vez en las últimas tres versiones del idioma o en las versiones preliminares públicas actuales.
Sugerencia
Para buscar cuándo se introdujo por primera vez una característica en C#, consulte el artículo sobre el historial de versiones del lenguaje C#.
Para casos sencillos en los que los descriptores de acceso y set de get una propiedad no realizan ninguna otra operación que establecer o recuperar un valor en un campo de respaldo privado, use las propiedades implementadas automáticamente. En el ejemplo siguiente se implementa Hours como una propiedad implementada automáticamente.
class TimePeriod3
{
public double Hours { get; set; }
}
Importante
No se pueden usar propiedades implementadas automáticamente para declaraciones de propiedades de interfaz ni para la declaración de implementación de una propiedad parcial. El compilador interpreta la sintaxis que coincide con una propiedad implementada automáticamente como declaración declarante, no como una declaración de implementación.
Es posible que tenga que implementar uno de los cuerpos de descriptor de acceso. La field palabra clave, agregada en C# 14, declara una propiedad respaldada por campos. Use una propiedad respaldada por campos para permitir que el compilador genere un descriptor de acceso mientras escribe el otro a mano. Use la field palabra clave para acceder al campo de respaldo sintetizado del compilador:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
A menudo, el descriptor de acceso set consta de una única instrucción que asigna un valor, como en el ejemplo anterior. Puede implementar el descriptor de acceso set como un miembro con forma de expresión. En el ejemplo siguiente se implementan los descriptores de acceso get y set como miembros con forma de expresión.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
En el ejemplo siguiente se definen unos descriptores de acceso get y set para una propiedad denominada Seconds. Usa un campo privado denominado _seconds para respaldar el valor de la propiedad.
class TimePeriod
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
}
_seconds = value;
}
}
}
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#.