Nadszedł czas rozebrać słowo kluczowe "this" w języku C# na molekuły i przyjrzeć się bliżej w których miejscach możemy na nie natrafić. Ono nie jest przypisane wyłącznie do jednej rzeczy. Chcę uprzedzić, że zaprezentowane tutaj wystąpienia to nie są wszystkie jakie występują w całym "CSharpie". Gdy przejdę do zaawansowanej literatury, wtedy rozwinę materiał.
"THIS" W JĘZYKU C# ZNAJDZIESZ NIE W JEDNYM, A W KILKU MIEJSCACH
"this" nie jest przypisane do jednej sytuacji. Może być wykorzystane w kilku różnych miejscach, a niektóre jego możliwości były rozszerzane w późniejszych wersjach języka C#. Zobaczcie gdzie możecie na nie natrafić.
REFERENCJA DO TEJ SAMEJ KLASY
Ze słowem kluczowym "this" mieliśmy już do czynienia w trakcie opisywania konstruktorów klas. Napisałem, że przydaje się to kiedy dochodzi do kolizji nazw pomiędzy parametrami formalnymi, a danymi składowymi:
private int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
Kiedy macie taką sytuację i nie chcecie dawać żadnych pokrętnych nazw, warto z tego skorzystać!
INICJALIZATOR
Ten śliczny termin oznaczający wywoływanie jednego konstruktora tej samej klasy z poziomu drugiego konstruktora. Pisząc jeszcze inaczej, chodzi o przeciążanie konstruktorów i wywoływanie ich nawzajem przez siebie, aby ograniczyć nadmiarowość kodu i skorzystać z raz napisanych instrukcji:
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
public Point():this(0, 0) {}
Wtedy także wykorzystujemy "this" w języku C#. To sprawi, że obiekt "Point" będzie można utworzyć na dwa sposoby (podając zero argumentów albo dwa argumenty). Kiedy wykorzystany zostanie konstruktor bezparametrowy, wtedy wywoła tego drugiego a na miejsce parametrów formalnych wstawi dwa zera.
![]() |
Słowo kluczowe "this" w języku C# pasuje nie tylko do jednego miejsca. Im nowsza wersja C#, tym więcej zastosowań tej frazy.
Odetchnijcie z ulgą, to koniec artykułu :). Na pewno występują jeszcze jakieś występowania, tylko nie natrafiłem na takie podczas czytania książki. Będę monitorować to w przyszłości kiedy natrafię na inne przypadki.