Pregunta

Por "generar", me refiero a la generación automática del código necesario para una variable (conjunto de) seleccionada en particular.

Pero cualquier explicación o comentario más explícito sobre buenas prácticas es bienvenido.

¿Fue útil?

Solución

En lugar de usar control+k,X también puedes simplemente escribir prop y luego presione la pestaña dos veces

Otros consejos

Visual Studio también tiene una característica que generará una propiedad a partir de una variable privada.

Si hace clic derecho en una variable, en el menú contextual que aparece, haga clic en el elemento "Refactorizar".Luego elija encapsular campo.Esto creará una propiedad getter/setter para una variable.

No soy un gran admirador de esta técnica, ya que es un poco incómodo de usar si tienes que crear muchos captadores/definidores, y coloca la propiedad directamente debajo del campo privado, lo que me molesta porque normalmente tengo Todos mis campos privados están agrupados y esta característica de Visual Studio rompe el formato de mi clase.

Por generar, ¿te refieres a generar automáticamente?Si eso no es lo que quieres decir:

Visual Studio 2008 tiene la implementación más sencilla para esto:

public PropertyType PropertyName { get; set; }

En segundo plano, esto crea una variable de instancia implícita en la que se almacena y recupera su propiedad.

Sin embargo, si desea agregar más lógica a sus Propiedades, deberá tener una variable de instancia para ello:

private PropertyType _property;

public PropertyType PropertyName
{
    get
    {
        //logic here 
        return _property;
    }
    set
    {
        //logic here
        _property = value;
    }
 }

Las versiones anteriores de Visual Studio también utilizaban siempre este método manual.

Yo uso Visual Studio 2013 Profesional.

  • Coloque el cursor en la línea de una variable de instancia.

    enter image description here

  • Presione combinar teclas Control+R, Control+mi o Haga clic con el botón derecho del mouse, elija el menú contextual Refactor \ Encapsulate Field... entonces presione OK.

    enter image description here

  • En Preview Reference Changes - Encapsulate Field diálogo, presione el botón Apply.

    enter image description here

  • Este es el resultado:

    enter image description here



También coloque el cursor para elegir la propiedad, use Menú Editar \ Refactorizar \ Encapsular campo...

y

private int productID;

public int ProductID
{
    get { return productID; }
    set { productID = value; }
}

convertirse en

public int ProductID { get; set; }

también puedes usar "propfull" y presionar PESTAÑA dos veces, se generarán la variable y la propiedad con get y set.

Si está utilizando Visual Studio 2005 y versiones posteriores, puede crear un definidor/obtenedor muy rápido usando el comando insertar fragmento.Haga clic derecho en su código, haga clic en Insertar fragmento (Control+k,X) y luego elija "prop" de la lista.Espero que esto ayude.

Si está utilizando ReSharper, vaya al menú ReSharper --> Código --> Generar...(o golpear Alt.+En s dentro de la clase circundante) y obtendrás todas las opciones para generar captadores y/o definidores que puedas imaginar :-)

utilizar el propfull palabra clave.
Generará propiedad y variable.

Sé que esto es más antiguo que el sol, pero pensé en publicar esto como mi respuesta porque es como hacerlo de esta manera.

Lo que hice fue crear mi propio fragmento que SOLO agrega {get; set;}.Lo hice sólo porque encontré prop > tab ser torpe.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
        <Title>get set</Title>
         <Shortcut>get</Shortcut>
    </Header>
    <Snippet>
        <Code Language="CSharp">
            <![CDATA[{get; set;}]]>
        </Code>
    </Snippet>
  </CodeSnippet>

Con esto, escribe su PropType y PropName manualmente, luego escribe get > tab y agregará el get set.No es nada mágico, pero como de todos modos tiendo a escribir primero mi modificador de acceso, también puedo terminar el nombre y escribirlo.

En Visual Studio Community Edition 2015 puedes seleccionar todos los campos que quieras y luego presionar ctrl + .para generar automáticamente las propiedades.Tienes que elegir si quieres utilizar la propiedad en lugar del campo o no.

Además del fragmento 'prop' y las propiedades automáticas, existe una opción de refactorización que le permite seleccionar un campo existente y exponerlo a través de una propiedad.Además, si no te gusta la implementación de 'prop', puedes crear tus propios fragmentos.Además, una herramienta de refactorización de terceros como resharper le brindará aún más funciones y facilitará la creación de fragmentos más avanzados.Recomendaría Resharper si te lo puedes permitir.

http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx http://www.jetbrains.com/

Ya no tengo Visual Studio instalado en mi máquina (y estoy usando Linux), pero sí recuerdo que había un asistente escondido en algún lugar dentro de uno de los menús que daba acceso a un generador de clases.

Con este asistente, puede definir todos los detalles de sus clases, incluidos métodos y atributos.Si no recuerdo mal, había una opción a través de la cual podías pedirle a VS que creara los definidores y captadores automáticamente.

Sé que es bastante vago, pero compruébalo y quizás lo encuentres.

Primero Get Extension Simplemente presione (Ctrl+Shift+X) e instale Getter Setter ....Después de esto, simplemente seleccione su variable y haga clic derecho, vaya a la paleta de comandos ...Y escribe getter...Sugerirá generar métodos get y set, haga clic en esto...

enter image description hereen nombre de la herramienta Visual Studio podemos generar fácilmente las propiedades de C# utilizando la herramienta en línea llamada. generador de propiedades c#.

Simplemente presiona Alt.+En s En Android Studio, después de declarar las variables, obtendrá los captadores y definidores al generar el código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top