Pergunta

Por "gerar", quero dizer a geração automática do código necessário para uma (s) variável (ões) selecionada (s) específica (s).

Mas qualquer explicação ou comentário mais explícito sobre boas práticas é bem-vindo.

Foi útil?

Solução

Em vez de usar Ctrl+k,x você também pode simplesmente digitar prop e então aperte tab duas vezes

Outras dicas

O Visual Studio também possui um recurso que irá gerar uma propriedade a partir de uma variável privada.

Se você clicar com o botão direito em uma variável, no menu de contexto que aparece, clique no item "Refatorar".Em seguida, escolha o campo encapsular.Isso criará uma propriedade getter/setter para uma variável.

Não sou muito fã dessa técnica, pois ela é um pouco estranha de usar se você tiver que criar muitos getters/setters e coloca a propriedade diretamente abaixo do campo privado, o que me incomoda porque normalmente tenho todos os meus campos privados agrupados e esse recurso do Visual Studio quebra a formatação da minha classe.

Por gerar, você quer dizer gerar automaticamente?Se não é isso que você quer dizer:

O Visual Studio 2008 tem a implementação mais fácil para isso:

public PropertyType PropertyName { get; set; }

No fundo, isso cria uma variável de instância implícita na qual sua propriedade é armazenada e recuperada.

Porém se você quiser colocar mais lógica em suas Propriedades, você terá que ter uma variável de instância para isso:

private PropertyType _property;

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

Versões anteriores do Visual Studio sempre usavam esse método extenso também.

Eu uso o Visual Studio 2013 Professional.

  • Coloque o cursor na linha de uma variável de instância.

    enter image description here

  • Pressione as teclas combinar Ctrl+R, Ctrl+E ou Clique com o botão direito do mouse, escolha o menu de contexto Refactor \ Encapsulate Field... então aperte OK.

    enter image description here

  • Em Preview Reference Changes - Encapsulate Field diálogo, pressione o botão Apply.

    enter image description here

  • Este é o resultado:

    enter image description here



Você também coloque o cursor para escolher a propriedade, use Menu Editar \ Refatorar \ Encapsular Campo...

e

private int productID;

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

tornar-se para

public int ProductID { get; set; }

você também pode usar "propfull" e clicar ABA duas vezes, variável e propriedade com get e set serão geradas.

Se você estiver usando o Visual Studio 2005 e superior, poderá criar um setter/getter bem rápido usando o comando insert snippet.Clique com o botão direito no seu código e clique em Inserir Snippet (Ctrl+k,x) e escolha "prop" na lista.Espero que isto ajude.

Se você estiver usando o ReSharper, vá para o menu ReSharper -> Código -> Gerar ...(ou bater Alt.+Ins dentro da classe ao redor) e você terá todas as opções para gerar getters e/ou setters que puder imaginar :-)

use o propfull palavra-chave.
Ele irá gerar propriedade e variável

Eu sei que isso é mais antigo que o sol, mas decidi postar isso como minha resposta porque é como fazer dessa maneira.

O que fiz foi criar meu próprio snippet que SÓ adiciona {get; set;}.Eu fiz isso só porque descobri prop > tab ser desajeitado.

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

Com isso, você digita seu PropType e PropName manualmente e depois digita get > tab e adicionará o get set.Não é nada mágico, mas como costumo digitar meu modificador de acesso primeiro, posso também terminar o nome e o tipo.

No Visual Studio Community Edition 2015 você pode selecionar todos os campos desejados e pressionar ctrl + .para gerar automaticamente as propriedades.Você deve escolher se deseja usar a propriedade em vez do campo ou não.

Além do snippet 'prop' e das propriedades automáticas, há uma opção de refatoração que permite selecionar um campo existente e expô-lo por meio de uma propriedade.Além disso, se você não gostar da implementação 'prop', poderá criar seus próprios trechos.Além disso, uma ferramenta de refatoração de terceiros, como o resharper, fornecerá ainda mais recursos e facilitará a criação de snippets mais avançados.Eu recomendaria o Resharper se você puder pagar.

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

Não tenho mais o Visual Studio instalado em minha máquina (e estou usando Linux), mas lembro que havia um assistente escondido em algum lugar dentro de um dos menus que dava acesso a um construtor de classes.

Com este assistente você pode definir todos os detalhes de suas classes, incluindo métodos e atributos.Se bem me lembro, havia uma opção através da qual você poderia pedir ao VS para criar os setters e getters automaticamente para você.

Eu sei que é bastante vago, mas dê uma olhada e você poderá encontrá-lo.

Primeiro, obtenha extensão, basta pressionar (Ctrl+Shift+X) e instalar o Getter Setter ....Depois disso, basta selecionar sua variável e clique com o botão direito do mouse na paleta de comando ...E digite getter...Ele irá sugerir gerar métodos get e set, clique aqui ...

enter image description hereEm nome da ferramenta Visual Studio, podemos gerar facilmente propriedades C# usando a ferramenta online chamada. gerador de propriedades c #.

Você simplesmente pressiona Alt.+Ins no Android Studio, após declarar variáveis, você obterá os getters e setters na geração do código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top