Dúvida em C# 4[RESOLVIDO]

14 respostas
M

Minha dúvida é a seguinte: como faço para gerar automáticamente os métodos Get e Set no C#?
Desde Já agradeço a atenção.

14 Respostas

R

Posso estar enganado mas acho que os métodos get e set são gerados automaticamente.

F

Digita prop e pressione a tecla “TAB”

M

No eclipse, temos a opção Generate Get and Set. Há algo similar no Visual Studio?

F
1º Crie uma variavel privada conforme o exemplo abaixo:
private int _teste = 0;

2º Clique com o botão direito do mouse em cima da variavel deseja e selecione REFACTOR >> ENCAPSULATE FILED

3º Digite o nome da Variavel desejada, ele já vem por padrão com um nome com referencia na variavel selecionada

4º Digite OK na tela que mostra as alterações efetuada e está finalizado.

O resultado final é este

private int _teste = 0;

        public int Teste
        {
            get { return _teste; }
            set { _teste = value; }
        }
M

Obrigadaço pela ajuda galera!!!

E

se não me engano no C# vc não precisa de o get e set explicitamente no seu código , pois quando vc criar um atributos ele sempre é acessado implicitamente pelo get e set, há não ser que você precisa de mudar o "padrão"ou seja realizar alguma implementação no seu get ou set.

F

Realmente, fazendo istopublic int Teste = 0;precisa de GET e SET.

Ela é praticamente uma variável pública. Mesmo assim no .NET ela não é uma propriedade e sim um campo. Muda muito para quem usa Reflection. Pois no lugar de aparecer na coleção de Properties aparece na coleção de Fields do objeto.

M

Mas você definiu a variável como public? Dessa forma é necessário gerar o Get e Set por qual motivo?

F

Nenhum, o Get e o Set serve apenas para emcapsular a variavel e possibilitar implementação de alguma regra de negócio. Mas como disse no .NET o uso de variáveis publicas não são Propriedades e sim Campos. Mas do ponto de vista de uso é o mesmo.

public int Teste
        {
            get { return _teste; }
            set
            {
                if(value < 0)
                    throw new Exception("Favor informar um valor maior que zero"); 
                _teste = value;
            }
        }
M

Mas os métodos Get e Set são implícitos tanto no VB qunato no C#?
Isso quer dizer que eles são gerados em tempo de execução?

V

Não é bem assim.
Se seu get e set não fará nada além de atribuição e leitura, você pode deixar o campo implícito.

Por exemplo, um campo com um getter publico e um set privado:

Se for mais complexo que isso, use a dica que a galera já deu.

F

Não Marcio, quando se opta por usar um campo no .NET (Uma variavel com PUBLIC) ele se comporta como uma variavel publica, em tempo de execução você acessa a variavel do objeto diretamente assim como é no Java. Podemos tratar ela como uma propriedade sem problemas porque você pode ler e escrever o valor nela sem problema.

Ao se optar pelo uso de Propriedade voce isola a variavel em questão colocando private e manipula ela pelos métodos GET e SET, isto é útil quando antes da leitura e da escrita da variavel você precisar realizar um tratamento ou executar alguma regra de negocio na chamada, não permitindo a manipulação direta do valor da mesma.

M

Muito obrigado galera, valeu mesmo!!!

F

Marcio_Nogueira:
Minha dúvida é a seguinte: como faço para gerar automáticamente os métodos Get e Set no C#?
Desde Já agradeço a atenção.

Usa versao Pro
Entao vai na variavel:
Botão direito->
Refactorin->
Encapsulate Field->

Done !

Criado 6 de janeiro de 2012
Ultima resposta 6 de jul. de 2014
Respostas 14
Participantes 6