Базовый класс для всех сущностей в c#. От него неявно наследуется все.
Методы в классе Object.
| Equals(Object) | Определяет, равен ли заданный объект текущему объекту. |
|---|---|
| Equals(Object, Object) | Определяет, следует ли считать равными указанные экземпляры объектов. |
| Finalize() | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. |
| GetHashCode() | Служит хэш-функцией по умолчанию. |
| GetType() | Возвращает объект Type для текущего экземпляра. |
| MemberwiseClone() | Создает неполную копию текущего объекта Object. |
| ReferenceEquals(Object, Object) | Определяет, совпадают ли указанные экземпляры Object. |
| ToString() | Возвращает строковое представление текущего объекта. |
Важные нюансы:
MemberwiseClone()осуществляет неполное копирование - то есть копирование значимых типов. Если же класс фигуры содержал бы объекты ссылочных типов, то оба объекта после клонирования содержали бы ссылку на один и тот же ссылочный объект. Для глубинного клонирования с учетом ссылочных типов используется интерфейс ICloneable , который позволяет создать экземпляр копию класса, поля которого в свою очередь заполнить не только копиями значимых типов, но и созданием экземпляров ссылочных типов.