Como gerar getters e setters no Visual Studio?
-
08-06-2019 - |
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.
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.
- 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 aperteOK
.
- Em
Preview Reference Changes - Encapsulate Field
diálogo, pressione o botãoApply
.
- Este é o resultado:
Você também coloque o cursor para escolher a propriedade, use Menu Editar \ Refatorar \ Encapsular Campo...
- Outra informação:Desde C# 3.0 (19 de novembro de 2007), podemos usar Propriedades autoimplementadas (Isto é apenas açúcar sintático)
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 ...
Em 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.