В C# «base» и «this» используются для обозначения разных объектов в иерархии классов. Позвольте мне объяснить различия и предоставить список методов, связанных с их использованием.
-
“база”:
- Ключевое слово «base» используется для доступа к членам (методам, свойствам, полям и т. д.) базового класса из производного класса.
- Обычно он используется, когда в производном классе есть переопределенный член, и вы хотите вызвать реализацию этого члена базового класса.
- Пример:
base.MethodName();
-
“это”:
- Ключевое слово «this» используется для ссылки на текущий экземпляр класса.
- Он обычно используется для квалификации доступа к членам, особенно в случае конфликта имен между переменной-членом и параметром или локальной переменной.
- Пример:
this.FieldName = значение;
Методы, связанные с «базой»:
- base.MethodName(): вызывает реализацию указанного метода базового класса.
- base.ToString(): возвращает строковое представление объекта базового класса.
- base.Equals(): определяет, равен ли объект базового класса другому объекту.
- base.GetHashCode(): возвращает хеш-код объекта базового класса.
- base.GetType(): получает тип текущего экземпляра (базового класса).
Методы, связанные с “этим”:
- this.MethodName(): вызывает метод текущего экземпляра класса.
- this.ToString(): возвращает строковое представление текущего экземпляра.
- this.Equals(): определяет, равен ли текущий экземпляр другому объекту.
- this.GetHashCode(): возвращает хеш-код текущего экземпляра.
- this.GetType(): получает тип текущего экземпляра.