c# - salto - Qué significa esto ? Nombre público{obtener; establecer;}
un espacio de nombres no puede contener directamente miembros como campos o métodos (6)
En términos simples, se los denomina accesodores de propiedad. Su implementación se puede explicar de la siguiente manera
1.get {return name} El bloque de código en el access access se ejecuta cuando la propiedad es Read .
2.set {name = value} El bloque de código en el accessor set se ejecuta cuando la propiedad se asigna a un nuevo valor.
Ej. (Suponiendo que estés usando C #)
class Person
{
private string name; // the name field
public string Name // the Name property
{
get
{
return name;
}
set
{
name = value;
}
}
}
Ahora cuando se refiere a esta propiedad como a continuación
Persona p = nueva Persona (); // Iniciando la clase o creando el objeto ''p'' de la clase ''Persona''
System.Console.Write(p.Name); //The get accessor is invoked here
El acceso de obtención se invoca para leer el valor de la propiedad, es decir, el compilador intenta leer el valor de la cadena ''nombre''.
2. Cuando asigna un valor (usando un argumento) a la propiedad ''Nombre'' como se muestra a continuación
Person p = new Person();
p.Name = "Stack" // the set accessor is invoked here
Console.Writeline(p.Name) //invokes the get accessor
Console.ReadKey(); //Holds the output until a key is pressed
El acceso del conjunto Asigna el valor ''Apilar'' a la ''Propiedad del nombre, es decir,'' Pila ''se almacena en la cadena'' Nombre ''.
Ouput:
Apilar
Esta pregunta ya tiene una respuesta aquí:
- ¿Cuál es el {obtener; conjunto; } sintaxis en C #? 15 respuestas
Veo esto en silencio a menudo en la documentación de C #. Pero, ¿qué hace?
public class Car
{
public Name { get; set; }
}
Es el equivalente de hacer:
private string _Text;
public string Text
{
get { return _Text; }
set { _Text = value; }
}
Excepto que no tiene acceso a la variable privada mientras está dentro de la clase.
Es una abreviatura de:
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
El compilador genera la variable miembro. Esto se llama una propiedad automática .
Es una propiedad de lectura-escritura automática. Es una adición de C # 3.0. Algo como:
public class Car {
private string name;
public string Name { get { return name; } set { name = value; } }
}
excepto que no puede acceder directamente al campo de respaldo.
Se llama una propiedad implementada automáticamente y es nueva para C # 3.0 . Es una sintaxis más limpia cuando su acceso a la propiedad no necesita ningún comportamiento especial o validación. Es similar en función a:
public class Car
{
private string _name;
public string Name
{
get { return _name; }
set {_name = value; }
}
}
Por lo tanto, ahorra una buena cantidad de código, pero le deja la opción más adelante de modificar la lógica de acceso si el comportamiento o las reglas deben cambiar.
RESUMEN: En C # 3.0 y versiones posteriores, las propiedades implementadas automáticamente hacen que la declaración de propiedad sea más concisa cuando no se requiere una lógica adicional en los descriptores de acceso a la propiedad.