Boa tarde! Não entendi a lógica da utilização da palavra reservada 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.
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!