Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Utilização do this para criação do indexador

Boa tarde! Não entendi a lógica da utilização da palavra reservada this para criação do indexador.

2 respostas
solução!

Boa tarde, Pablo.

O this faz referência ao objeto.

class TestaThis
    {
        public void Equals(Object este)
        {
            if (this == este) //Leia como this sendo esse1
            {
                Console.WriteLine("mesmo objeto");
            }
            else
            {
                Console.WriteLine("Objetos diferentes");
            }

        }
    }

Um exemplo prático de uma reescrita de método Equals (Equals é um método da classe Object que por padrão qualquer classe criada já a herda)

static void Main()
        {

            TestaThis esse1 = new TestaThis();
            TestaThis esse2 = new TestaThis();
            esse1.Equals(esse2)

            Console.ReadLine();

        }

Como no exemplo, quando a chamada ao método Equals é feita, o this já faz referência a este objeto.

O this também faz referência a variaveis locais:

private string nome;

        public string GetNome()
        {
            return nome;
        }
        public void SetNome(string nome)
        {
            this.nome = nome; //this fazendo referência a variável local (string nome)
        }

No caso, o this é usado quando não sabemos o nome que nosso objeto/variável irá receber. Creio que essa explicação irá responder bem a pergunta.

Ficou claro Silva, obrigado!