Vă mulțumim pentru susținere

Cum se generează getters și setters în Visual Studio?

Prin "generare", mă refer la auto-generarea codului necesar pentru o variabilă (sau setări) selectate în mod particular.

Dar orice explicație explicită sau comentariu despre bunele practici este binevenită.

0
adăugat editat

14 răspunsuri

În loc să utilizați ctrl + k , x , tastați prop

0
adăugat
Consultați msdn.microsoft.com/en-us/library/z41h7fat.aspx pentru fragmente de cod mai utile în Visual C #
adăugat autor Titus
Și nu uitați "propg" + tab care generează același lucru, dar cu un setter privat.
adăugat autor Andrew M

Prin generare, te referi la auto-generare? Dacă nu asta vrei să spui:

Visual Studio 2008 are cea mai ușoară implementare pentru aceasta:

public PropertyType PropertyName { get; set; }

În fundal, aceasta creează o variabilă de instanță implicită, la care proprietatea dvs. este stocată și preluată.

Cu toate acestea, dacă doriți să puneți mai multă logică în proprietățile dvs., va trebui să aveți o variabilă de instanță pentru aceasta:

private PropertyType _property;

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

Versiunile anterioare ale Visual Studio au folosit întotdeauna și această metodă lungă.

0
adăugat
@Julen - Am văzut întotdeauna convenția _property.
adăugat autor Nathan DeWitt
Nu este standardul în C # este linia inferioară după numele de membru property _ în loc de _property ?
adăugat autor Julen

Nu mai am instalat Visual Studio pe masina mea (si folosesc Linux), dar imi amintesc ca exista un vrajitor ascuns undeva intr-unul din meniurile care au dat acces la un constructor de clasa.

Cu acest expert, puteți defini detaliile tuturor clasei, inclusiv metode și atribute. Dacă îmi amintesc bine, a existat o opțiune prin care ai putea cere companiei VS să creeze automat pentru dvs. setteri și getters.

Știu că este destul de vag, dar verificați-l și ați putea găsi.

0
adăugat

Dacă utilizați Visual Studio 2005 și mai sus, puteți crea un setter / getter real rapid utilizând comanda fragmentului de inserare. Faceți clic dreapta pe codul dvs. Faceți clic pe Introduceți snippet ( Ctrl + k , x ) și apoi alegeți "prop" din listă. Sper că acest lucru vă ajută.

0
adăugat

Visual Studio are, de asemenea, o caracteristică care va genera o proprietate dintr-o variabilă privată.

Dacă faceți clic dreapta pe o variabilă, în meniul contextual care apare faceți clic pe elementul "Refactor". Apoi alegeți câmpul de încapsulare. Aceasta va crea o proprietate getter / setter pentru o variabilă.

Nu sunt prea mare fan al acestei tehnici, deoarece este puțin ciudat de utilizat dacă trebuie să creați o mulțime de getters / setters și pune proprietatea direct sub câmpul privat, ceea ce mă deranjează deoarece de obicei am toate câmpurile mele private grupate împreună și această caracteristică Visual Studio încalcă formatul meu de clasă.

0
adăugat
Din păcate, această opțiune nu este dată de edițiile exprese ale Visual Studio.
adăugat autor Toby
există și shourtcut - prefer acest lucru :) - CTRL + R + E
adăugat autor Vukasin

Pe lângă fragmentul "prop" și proprietățile auto, există o opțiune de refactor pentru a vă permite să selectați un câmp existent și să îl expuneți printr-o proprietate. De asemenea, dacă nu vă place implementarea "prop", puteți crea propriile fragmente. În plus, un instrument de refactorizare terță parte, cum ar fi resharper, vă va oferi chiar mai multe caracteristici și va facilita crearea de fragmente mai avansate. Aș recomanda Resharper dacă îți poți permite.

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

0
adăugat

Eu folosesc Visual Studio 2013 Professional.

  • Place your cursor at the line of an instance variable.

    enter image description here

  • Press combine keys Ctrl+R, Ctrl+E or Click right mouse button, Choose context menu Refactor \ Encapsulate Field... then press OK.

    enter image description here

  • In Preview Reference Changes - Encapsulate Field diaglog, press button Apply.

    enter image description here

  • This is result:

    enter image description here



You also place cursor for choosing property, use Menu Edit \ Refactor \ Encapsulate Field...

și

private int productID;

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

să devină

public int ProductID { get; set; }
0
adăugat
get set

Știu că acest lucru este mai vechi decât soarele, dar mi-am imaginat că aș posta acest răspuns ca fiind răspunsul meu, pentru că așa am făcut-o în felul acesta.

What I did was create my own snippet that ONLY adds {get; set;}. I made it just because I find prop > tab to be clunky.



  
    
get
 
    
        
            


        
    
  

With this, you type your PropType and PropName manually, then type get > tab and it will add the get set. Its nothing magical, but since I tend to type my access modifier first anyway, I may as well finish out the name and type.

0
adăugat

If you're using ReSharper, go into the ReSharper menu --> Code --> Generate ... (or hit Alt+Ins inside the surrounding class) and you'll get all the options for generating getters and/or setters you can think of :-)

0
adăugat

puteți folosi și "propfull" și apăsați de două ori pe TAB , iar variabila și proprietatea cu get și set vor fi generate.

0
adăugat
Fac serializare XML și reproduc o mulțime de proprietăți pe tot parcursul spectacolului. + 100septilionul mă învine dacă aș putea. Multumesc! Editare - chiar mai bine, script auto-cheie + ^ this = productivitate peste 90000!
adăugat autor Eon
aceasta este cea mai utilă și întotdeauna o uit
adăugat autor Dave Alperovich

use the propfull keyword.
It will generate property and variable

0
adăugat
furnizați mai multe informații despre răspunsul dvs., răspunsurile cu scurtă descriere nu sunt valabile pentru vizitatorii următori ...
adăugat autor Kiyarash
tastați cuvântul cheie propfull în editor se va genera cod ca privat data_type var_name; public data_type var_name1 {get; set;}
adăugat autor avinash kadu

În Visual Studio Community Edition 2015 puteți selecta toate câmpurile pe care le doriți și apoi apăsați ctrl +. pentru a genera automat proprietățile. Trebuie să alegeți dacă doriți să utilizați proprietatea în locul câmpului sau nu.

0
adăugat

enter image description herebehalf of the visual studio tool we can easily generate c# properties using online tool called. c# propery generator.

0
adăugat

Simplu apăsați pe Alt + Ins în studioul Android după declararea variabilelor, veți obține getters și setters în generarea de cod.

0
adăugat