Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Использование this для возвратных ссылок в C#
Использование this для возвратных ссылок в C#
Обратите внимание на то, что другой конструктор класса Employee использует ключевое слово C# this.
// Явное использование "this" для разрешения конфликтов имен.
publiс Employee(string fullName, int empID, float currPay) {
// Присваивание входных параметров данным состояния.
this.fullName = fullName;
this.empID = empID;
this.currPay = currPay;
}
Это ключевое слово C# используется тогда, когда требуется явно сослаться на поля и члены текущего объекта. Причиной использования ключевого слова this в этом пользовательском конструкторе является стремление избежать конфликта имен параметров и внутренних переменных состояния. Альтернативой могло бы быть изменение имен всех параметров.
// В отсутствие конфликта имен "this" подразумевается.
public Employee(string name, int id, float pay) {
fullName = name;
empID = id;
currPay = pay;
}
В данном случае нет необходимости явно добавлять префикс this к именам членов-переменных Employee, потому что конфликт имен уже исключен. Компилятор может самостоятельно выяснить области видимости используемых членов-переменных, и в этой ситуации this называют неявным: если класс ссылается на свои собственные поля данных и члены-переменные (без каких бы то ни было неоднозначностей), то this подразумевается. Таким образом, предыдущая логика конструктора функционально идентична следующей.
public Employee(string name, int Id, float pay) {
this.fullName = name;
this.empID = id;
this.currPay = pay;
}
Замечание. Статические члены типа не могут использовать ключевое слово this в контексте метода. В этом есть смысл, поскольку статические члены-функции действуют на уровне класса (а не объекта). На уровне класса нет this!
- Тип класса в C#
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Использование констант
- Использование переменной окружения ISC_PATH
- Использование сервера Yaffil внутри процесса
- Использование CAST() с типами дата
- Использование типов содержимого и столбцов
- Conventions used in this document
- Why this document was written
- Terms used in this document
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC