Класс Object

Класс Object из пространства имен System является базовым для все типов C#. Это значит что все типы явно или неявно наследуются от класса Object. И, соответственно, получают методы, определенные в этом классе.

Вместо System.Object в C# допустимо использовать псевдоним этого класса object, который определен для сокращенной записи имени класса System.Object.

Экземпляру класса System.Object может быть присвоен объект любого типа. Нужно иметь в виду что в случае присваивания экземпляру класса System.Object типов значений происходит их упаковка. Обратная процедура – распаковка – предполагает обратное преобразование, что связано с дополнительным расходом времени.

Методы класса Object:

  • Equals( Object ) – Производит сравнение двух объектов. Может быть переопределен в производных классах.
  • ReferenceEquals( Object, Object )Статический метод. Проверяет равны ли ссылки на два объекта.
  • Equals( Object, Object )Статический метод. Производит сравнение двух объектов.
  • ToString() – Приводит объект к строке. Может быть переопределен в производных классах.

Вот как метод ToString() определен в исходниках .net Framework:

public virtual String ToString()
{
    return GetType().ToString();
}

Из этого видно, что метод просто возвращает строку, содержащую название типа объекта. В данном случае это System.Object.

  • GetType() – Возвращает объект Type для заданного объекта.
  • GetHashCode() – Возвращает хэш-код объекта.
  • MemberwiseClone() – Производит неглубокое клонирование объекта.
  • Finalize() – Должен освобождать ресурсы связанные с объектом.

Методы, которые могут быть переопределены в производных классах

  • Equals( Object )
  • Finalize()
  • GetHashCode()
  • ToString()
avatar
5000
  Подписаться  
Уведомление о