sexta-feira, 21 de setembro de 2018

Dicas de programação: Escrevendo operadores de "cast" em C#

No C#, dá para escrever operadores para conversão de tipos. Por exemplo:

    //Estrutura Pessoa 
    struct Pessoa
    {
        //Propriedade Nome
        public String Nome
        {
            get; set;
        }

        //Propriedade Idade
        public int Idade
        {
             get; set;
        }

        //Converte o objeto pessoa para String (de maneira implicita, sem precisar fazer "(String)pessoa")
        public static implicit operator String(Pessoa pessoa)
        {
            return pessoa.Nome;
        }

        //Converte o objeto pessoa para int(de maneira explicita, precisando fazer "(int)pessoa")
        public static explicit operator int(Pessoa pessoa)
        {
            return pessoa.Idade;
        }

    }

    static void Main(string[] args)
    {
          //Crio o objeto pessoa
          Pessoa pessoa = new Pessoa();
          //Seto o nome e a idade
          pessoa.Nome = "Ricardo";
          pessoa.Idade = 100;
          //Converto os valores
          String nomePessoa = pessoa;
          int idadePessoa = (int) pessoa;
         //Exibo na tela
          Console.WriteLine("Nome: " + nomePessoa + " Idade: " + idadePessoa);
    }

Até mais!

Nenhum comentário: