Изучение различий между «base» и «this» в C# и связанными с ними методами

В C# «base» и «this» используются для обозначения разных объектов в иерархии классов. Позвольте мне объяснить различия и предоставить список методов, связанных с их использованием.

  1. “база”:

    • Ключевое слово «base» используется для доступа к членам (методам, свойствам, полям и т. д.) базового класса из производного класса.
    • Обычно он используется, когда в производном классе есть переопределенный член, и вы хотите вызвать реализацию этого члена базового класса.
    • Пример: base.MethodName();
  2. “это”:

    • Ключевое слово «this» используется для ссылки на текущий экземпляр класса.
    • Он обычно используется для квалификации доступа к членам, особенно в случае конфликта имен между переменной-членом и параметром или локальной переменной.
    • Пример: this.FieldName = значение;

Методы, связанные с «базой»:

  • base.MethodName(): вызывает реализацию указанного метода базового класса.
  • base.ToString(): возвращает строковое представление объекта базового класса.
  • base.Equals(): определяет, равен ли объект базового класса другому объекту.
  • base.GetHashCode(): возвращает хеш-код объекта базового класса.
  • base.GetType(): получает тип текущего экземпляра (базового класса).

Методы, связанные с “этим”:

  • this.MethodName(): вызывает метод текущего экземпляра класса.
  • this.ToString(): возвращает строковое представление текущего экземпляра.
  • this.Equals(): определяет, равен ли текущий экземпляр другому объекту.
  • this.GetHashCode(): возвращает хеш-код текущего экземпляра.
  • this.GetType(): получает тип текущего экземпляра.