254 votes

Comment générer des getters et setters dans Visual Studio ?

Par "générer", j'entends l'auto-génération du code nécessaire pour une (ou plusieurs) variable(s) particulière(s) sélectionnée(s).

Mais toute explication plus explicite ou tout commentaire sur les bonnes pratiques sont les bienvenus.

332voto

Orion Edwards Points 54939

Plutôt que d'utiliser Ctrl + K , X vous pouvez aussi simplement taper prop et puis appuyez sur Tab deux fois.

73 votes

Et n'oubliez pas "propg" + tab qui génère la même chose, mais avec un setter privé.

1 votes

Ver msdn.microsoft.com/fr/us/library/z41h7fat.aspx pour des extraits de code plus utiles en Visual C#

54voto

Dan Herbert Points 38336

Visual Studio dispose également d'une fonctionnalité qui permet de générer une propriété à partir d'une variable privée.

Si vous faites un clic droit sur une variable, dans le menu contextuel qui s'affiche, cliquez sur l'élément "Refactor", puis choisissez Encapsuler le champ... . Cela permettra de créer une propriété getter/setter pour une variable.

Je ne suis pas trop fan de cette technique car elle est un peu difficile à utiliser si vous devez créer beaucoup de getters/setters, et elle place la propriété directement sous le champ privé, ce qui me dérange, car j'ai habituellement tous mes champs privés regroupés, et cette fonctionnalité de Visual Studio casse le formatage de ma classe.

10 votes

Malheureusement, cette option n'est pas offerte par les éditions express de Visual Studio.

12 votes

Il y a aussi le shourtcut - je préfère cette façon :) - CTRL+R+E

29voto

Jon Limjap Points 46429

Par générer, voulez-vous dire auto-générer ? Si ce n'est pas ce que vous voulez dire :

Visual Studio 2008 a la mise en œuvre la plus simple pour cela :

public PropertyType PropertyName { get; set; }

En arrière-plan, cela crée une variable d'instance implicite dans laquelle votre propriété est stockée et récupérée.

Toutefois, si vous souhaitez introduire davantage de logique dans vos propriétés, vous devrez disposer d'une variable d'instance :

private PropertyType _property;

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

Les versions précédentes de Visual Studio utilisaient également cette méthode à la main.

0 votes

La norme en C# n'est pas le tiret inférieur après le nom du membre. property_ au lieu d'avant _property ?

3 votes

@Julen - J'ai toujours vu la convention _property.

29voto

chirag Khatsuriya Points 187

Vous pouvez aussi utiliser "propfull" et frapper TAB deux fois.

La variable et la propriété avec get et set seront générées.

0 votes

C'est le plus utile et je l'oublie toujours.

1 votes

Je fais de la sérialisation XML et je génère une tonne de propriétés dans tout le spectacle. +100septillion upvotes si je pouvais. Merci!Edit- EVENEMENT MIEUX, autohotkey script + ^this = productivité plus de 90000 !

0 votes

6voto

omar Points 359

Si vous utilisez Visual Studio 2005 et les versions ultérieures, vous pouvez créer un setter/getter très rapidement à l'aide de la commande insert snippet.

Cliquez avec le bouton droit de la souris sur votre code, cliquez sur Insérer un extrait ( Ctrl + K , X ), puis choisissez "prop" dans la liste.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X