Saltar al contenido

Creación rápida de propiedades de C# a partir de variables

Luego de buscar en varios repositorios y páginas de internet al concluir hallamos la resolución que te mostramos aquí.

Solución:

Haga clic derecho en la declaración de campo, menú Refactorizar -> Encapsular campo y pasa de

int n;

a

int n;

public int N

   get  return n; 
   set  n = value; 

Si usa C# 3.0 o superior (VisualStudio 2008, esencialmente), puede usar las propiedades automáticas. Si bien esto no es exactamente lo que está pidiendo, debería (con suerte) funcionar.

En lugar de escribir:

private string m_Name;

public string Name

    get  return m_Name; 
    set  m_Name = value; 

Puedes simplemente escribir:

public string Name  get; set; 

Esto le dará propiedades rápidas y “tontas” (es decir, sin lógica de recuperación o asignación) que pueden ir en su clase. Si encuentra que necesita una lógica de recuperación y asignación más tarde, simplemente regrese y realice la sintaxis de declaración de propiedad completa y no tendrá que cambiar nada del código de llamada.

La única diferencia real es que tendrá que usar la propiedad para obtener el valor dentro de su clase, ya que la variable de respaldo se genera y compila en tiempo y no está disponible para su código.

¿Está buscando una herramienta de refactorización de código? Si es así, echa un vistazo a ReSharper. Proporciona una forma fácil de convertir propiedades respaldadas por campos simples en propiedades automáticas, y viceversa.

Si simplemente no desea escribir propiedades personalizadas respaldadas por campos, puede usar propiedades automáticas, por ejemplo, así:

public string MyProperty  get; set;  // generates an auto-property

que es equivalente a:

private string m_MyProperty;
public string MyProperty 
 
  get  return m_MyProperty; 
  set  m_MyProperty = value; 

Incluso puede hacer la diferencia de accesibilidad del setter y getter:

public string MyProperty  get; private set; 

Si elige usar propiedades automáticas, tenga en cuenta que no puede acceder al campo subyacente, ni puede proporcionar una implementación solo para una parte (solo el getter o solo el setter). Sin embargo, puede hacer que la propiedad sea virtual.

Tienes la posibilidad difundir este escrito si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *