|
Ссылка на текущий экземпляр класса (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.
Источник: |
Категория: С# | Добавил: Sumrak (14.11.2010)
| Автор: E W
|
Просмотров: 1436 | Комментарии: 0
| Теги:
| Рейтинг: 4.0/1 |
|
|
|