Основы C#. Урок 45. Ссылка на текущий экземпляр класса
(this)
Ссылка на текущий экземпляр класса делается через ключевое
слово this. Вот традиционный пример: class SomeClass
{
public int a;
SomeClass(int a)
{
this.a=a;
}
}
В этом примере у нас и переменная класса, и параметр метода
названы одинаково - a. Для уточнения, что мы используем именно
переменную класса, а не параметр метода, и служит слово
this.
В C++ же для избегания конфликта имен обычно к переменной
класса прибывлялся префикс m_.
Еще одна возможность по использованию ключевого слова this
- это вызов одного конструктора из другого. Вот
пример: class SomeClass
{
public int a;
public int b;
//Конструктор с 2-я параметрами.
public SomeClass(int a, int b)
{
this.a=a;
this.b=b;
}
//Конструктор без параметров,
//вызывающий конструктор с 2-я параметрами.
public SomeClass():this(1, 1)
{
}
}
//Тестовый класс.
class App
{
static void Main()
{
SomeClass s=new SomeClass();
Console.WriteLine("a={0}, b={0}", s.a, s.b);
}
}
Здесь в классе SomeClass два конструктора. Второй
конструктор (без параметров) вызывает первый (передавая в него
значения 1 и 1): ...
public SomeClass():this(1, 1)
...
Указанный фрагмент выведет, разумеется, a=1, b=1. |