2008-08-06 673 views

Respuesta

237

En lugar de utilizar ctrl +k, x también puede simplemente escribir prop pestaña y luego golpeó dos veces

+65

Y no se olvide de "propg" + tab que genera lo mismo, pero con un setter privado. –

+0

totalmente ingenioso. ¡Gracias! – Stumblor

+0

Consulte https://msdn.microsoft.com/en-us/library/z41h7fat.aspx para obtener más fragmentos de código útiles en Visual C# – Titus

1

Ya no tengo instalado Visual Studio en mi máquina (y estoy usando Linux), pero recuerdo que había un asistente oculto 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 los métodos y los atributos. Si recuerdo bien, había una opción a través de la cual podías pedirle a VS que creara los ajustadores y captadores automáticamente para ti.

Sé que es bastante vago, pero échale un vistazo y podrás encontrarlo.

29

Por generar, ¿quieres decir autogenerar? Si eso no es lo que quiere decir:

Visual Studio 2008 tiene la aplicación más fácil para esto:

public PropertyType PropertyName { get; set; } 

En el fondo esto crea una variable de instancia implícita a la que su propiedad se almacena y recupera.

Sin embargo, si usted quiere poner en más lógica en sus propiedades, usted tiene que tener una variable de instancia para ello:

private PropertyType _property; 

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

versiones anteriores de Visual Studio siempre se utiliza este método de escritura a mano también.

+0

¿No es el estándar en C# el guión inferior después del nombre de miembro 'propiedad_' en lugar de antes de' _property'? – Julen

+1

@Julen - Siempre he visto la convención _property. –

7

Si está utilizando Visual Studio 2005 en adelante, puede crear un setter/getter muy rápido utilizando el comando insert snippet. Haga clic derecho en su código, haga clic en Insertar fragmento (Ctrl + k, x) y luego seleccione "prop" en la lista. Espero que esto ayude.

46

Visual Studio también tiene una función que va a generar una propiedad de una variable privada.

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

No soy un gran admirador de esta técnica, ya que es un poco incómoda de usar si tiene que crear muchos getters/setters, y pone la propiedad directamente debajo del campo privado, lo que me molesta porque generalmente tengo todos mis campos privados agrupados, y esta característica de Visual Studio rompe el formato de mi clase.

+10

Desafortunadamente, esta opción no viene dada por las ediciones express de Visual Studio. – Toby

+11

También hay shourtcut - prefiero de esta manera :) - CTRL + R + E – Vukasin

+1

"La opción no está dada por las ediciones express" - Oh hombre, ¿no le dieron un producto de características completas gratis? MS, esos bastardos. –

1

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

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

4

Si está utilizando ReSharper, entrar en el menú de ReSharper -> Código -> Generar ... (o golpear Alt +Ins dentro de la clase circundante) y obtendrá todas las opciones para captadores y/o emisores que generan que se pueda imaginar :-)

25

también puede utilizar "propfull" y pulsa TAB dos veces, variable y propiedad con get y establezca se generará.

+0

este es el más útil y siempre lo olvido –

+0

Estoy haciendo la serialización de XML y generando un montón de propiedades en todo el programa. + 100septillion upvotes si pudiera. ¡Gracias! Editar- ¡AÚN MEJOR, secuencia de comandos autohotkey +^esto = productividad por encima de 90000! – Eon

3

utilice la palabra clave propfull.
Generará propiedad y variable

+0

por favor brinde más información acerca de su respuesta, las respuestas con una breve descripción no son correctas para los próximos visitantes ... – Kiyarash

+0

escriba la palabra clave propfull en el editor generará código como private data_type var_name; public data_type var_name1 {get; set;} –

2

Sé que esto es más antiguo que el sol, pero pensé que publicaría esto como mi respuesta, ya que simplemente me gusta hacerlo de esta manera.

Lo que hice fue crear mi propio fragmento que SOLO agrega {get; set;}. Lo hice porque me parece 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, usted escriba su PropType y PROPNAME manualmente, a continuación, escriba get > tab y va a añadir el conjunto de conseguir. No es nada mágico, pero dado que tiendo a escribir mi modificador de acceso primero de todos modos, también puedo terminar el nombre y el tipo.

27

Uso Visual Studio 2013 Professional.

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

    enter image description here

  • Prensa combinar teclas Ctrl + R ,Ctrl + E o haga clic en el botón derecho del ratón, elija el menú contextual Refactor \ Encapsulate Field... a continuación, pulse OK.

    enter image description here

  • En Preview Reference Changes - Encapsulate Field diaglog, pulse el botón Apply.

    enter image description here

  • Esto es resultado:

    enter image description here



También lugar del cursor para elegir la propiedad, el uso del menú Editar \ Refactor \ Encapsular campo ...

y

private int productID; 

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

convierten a

public int ProductID { get; set; } 
1

En Visual Studio Community Edition 2015 puede seleccionar todo los campos que desee y luego presione ctrl + . para generar automáticamente las propiedades. Debe elegir si desea usar la propiedad en lugar del campo o no.

0

enter image description here nombre de la herramienta visual studio podemos generar fácilmente propiedades C# utilizando la herramienta en línea llamada. c# propery generator.

0

Sólo simple pulsación Alt +Ins en Android Studio después de la declaración de variables, obtendrá los captadores y definidores en la generación de código.

Cuestiones relacionadas