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

Translate

Par "générer", j'entends la génération automatique du code nécessaire pour un (ensemble de) variable (s) sélectionné (s).

Mais toute explication ou commentaire plus explicite sur les bonnes pratiques est le bienvenu.

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Plutôt que d'utiliserctrl+k,xvous pouvez aussi simplement taperproppuis appuyez deux fois sur l'onglet

La source
Translate

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

Si vous faites un clic droit sur une variable, dans le menu contextuel qui apparaît, cliquez sur l'élément "Refactor". Choisissez ensuite le champ encapsuler. Cela créera une propriété getter / setter pour une variable.

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

La source
Translate

J'utilise Visual Studio 2013 Professional.

  • Placez votre curseur sur la ligne d'une variable d'instance.

    enter image description here

  • Appuyez sur les touches de combinaisonCtrl+R, Ctrl+Eou Cliquez avec le bouton droit de la souris, choisissez le menu contextuelRefactor \ Encapsulate Field...puis appuyezOK.

    enter image description here

  • DansPreview Reference Changes - Encapsulate Fielddiaglog, appuyez sur le boutonApply.

    enter image description here

  • C'est le résultat:

    enter image description here



Toi aussiplacer le curseur pour choisir la propriété, utilisez MenuModifier \ Refactoriser \ Encapsuler le champ ...

et

private int productID;

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

devenir à

public int ProductID { get; set; }
La source
Translate

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

Visual Studio 2008 a l'implémentation 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.

Cependant, si vous souhaitez mettre plus de logique dans vos propriétés, vous devrez avoir une variable d'instance pour cela:

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 toujours cette méthode à long terme.

La source
Translate

vous pouvez également utiliser "propfull" et appuyer surLANGUETTEdeux fois, la variable et la propriété avec get et set seront générées.

La source
Translate

Si vous utilisez Visual Studio 2005 et versions ultérieures, vous pouvez créer un setter / getter très rapidement à l'aide de la commande insert snippet. Faites un clic droit sur votre code, cliquez sur Insérer un extrait (Ctrl+k,x) puis choisissez "prop" dans la liste. J'espère que cela t'aides.

La source
Translate

Si vous utilisez ReSharper, allez dans le menu ReSharper -> Code -> Generate ... (ou appuyez surAlt+Insà l'intérieur de la classe environnante) et vous aurez toutes les options pour générer des getters et / ou des setters auxquels vous pouvez penser :-)

La source
Translate

Utilisez lepropfullmot-clé.
Il générera une propriété et une variable

La source
Translate

Je sais que c'est plus vieux que le soleil, mais j'ai pensé que je publierais ceci comme ma réponse parce que c'est comme faire de cette façon.

J'ai créé mon propre extrait de code qui ajoute UNIQUEMENT{get; set;}. Je l'ai fait juste parce que je trouveprop > tabêtre maladroit.

<?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>

Avec cela, vous tapez votre PropType et PropName manuellement, puis tapezget > tabet il ajoutera le set. Ce n'est rien de magique, mais comme j'ai tendance à taper d'abord mon modificateur d'accès, je peux aussi bien finir le nom et le type.

La source
Translate

Dans Visual Studio Community Edition 2015, vous pouvez sélectionner tous les champs souhaités, puis appuyer surctrl + .pour générer automatiquement les propriétés. Vous devez choisir si vous souhaitez utiliser la propriété à la place du champ ou non.

La source
Translate

En plus de l'extrait de code 'prop' et des propriétés automatiques, il existe une option de refactorisation pour vous permettre de sélectionner un champ existant et de l'exposer via une propriété. De plus, si vous n'aimez pas l'implémentation «prop», vous pouvez créer vos propres extraits de code. De plus, un outil de refactoring tiers tel que resharper vous donnera encore plus de fonctionnalités et facilitera la création d'extraits de code plus avancés. Je recommanderais Resharper si vous pouvez vous le permettre.

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

La source
Translate

Je n'ai plus installé Visual Studio sur ma machine (et j'utilise Linux), mais je me souviens qu'il y avait un assistant caché quelque part dans l'un des menus qui donnait accès à un générateur de classe.

Avec cet assistant, vous pouvez définir tous les détails de vos classes, y compris les méthodes et les attributs. Si je me souviens bien, il y avait une option à travers laquelle vous pouviez demander à VS de créer automatiquement les setters et les getters pour vous.

Je sais que c'est assez vague, mais vérifiez-le et vous pourriez le trouver.

La source
Translate

enter image description hereau nom de l'outil de studio visuel, nous pouvons facilement générer des propriétés c # à l'aide de l'outil en ligne appelé.générateur de propriété c #.

La source
Translate

Commencez par obtenir l'extension, appuyez simplement sur (ctrl + shift + X) et installez le setter getter .... Après cela, sélectionnez simplement votre variable et faites un clic droit, allez dans la palette de commandes ... Et tapez getter ... Cela suggérera de générer des méthodes get et set cliquez dessus ...

La source
Translate

Vous venez d'appuyer simplementAlt+Insdans android studio après avoir déclaré des variables, vous obtiendrez les getters et les setters pour générer du code.

La source