Ir ao conteúdo

Posts recomendados

Postado

Boa Tarde pessoal,

 

Estou tendo problemas em relação a declaração de uma variável, ela não pode ser alterada apenas obtida seus dados, neste caso, quando um usúario for obter seus valores, caso não haja nada... retornar "Empty" , se não, retorna o seu nome.

 

public class Animais
    {
        public string Nome_Animal {
            get
            {
                return (string.IsNullOrEmpty(this.Nome_Animal) ? ("Empty") : (this.Nome_Animal));
            }
        }
static void Main(string[] args)
        {
            Mobs animal = new Mobs();
            Console.WriteLine(":: Nome ",animal.Nome_Animal);
            Console.ReadKey();
        }

O Que pode estar errado? Nenhum erro de compilação, porém, overfloow quebra a execução.. eu queria utilizar a variável, não metodos... 

Postado

Coloque um atributo privado do tipo string na sua classe e devolva o valor desse atributo privado no seu getter. Fica assim:

public class Animais
{
    private string nome_Animal;
    public string Nome_Animal
    {
        get
        {
            return string.IsNullOrEmpty(nome_Animal) ? "Empty" : nome_Animal;
        }
    }
}

Do jeito que você tava fazendo, quando a execução do programa entrava no getter, em vez dele retornar uma string ele entrava no getter de novo, recursivamente. Com um atributo privado, quando a execução do programa entra no getter, ele retorna a string guardada no atributo, em vez de entrar em recursão.

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!