1. Třída System.Object

Univerzální bázová třída od níž je odvozeno vše ostatní.

Metody třídy System.Object:

  • string ToString() - vrací textové vyjádření objektu;

  • int GetHashCode() - používá se tehdy, když je objekt umístěn ve struktuře map. Metoda je využívají instance tříd, které manipulují s uvedenými strukturami. Určují pomocí ní pozici, kam má být instance třídy umístěna;

  • bool Equals(Object obj) - porovnává odkazy dvou objektů. Ve vlastní třídě ji lze implementovat tak, aby prováděla porovnání hodnot dvou objektů. V případě vlastní implementace této metody by programátor neměl vyvolávat výjimky, může to způsobit ve třídách slovníků a v dalších bázových třídách, které interně tuto metodu volají. Statická metoda Equals(object objA, object objB) navíc umí porovnat i hodnoty null;

  • bool ReferenceEquals(object objA, object objB) - statická metoda, rozhoduje, zda se dva odkazy odkazují na stejnou instanci třídy.

  • operátor porovnání == - ve většině případů znamená porovnání odkazů. V případě určitých tříd je však vhodnější porovnávat obsahy tříd. Například porovnání řetězců. Operátor lze přetížit. Jde o mezistupeň mezi metodami Equals a ReferenceEquals;

  • void Finalize() - destruktor, který je volán v okamžiku, kdy je z dynamické paměti mazán referent;

  • Type GetType() - vrací instanci třídy System.Type, tato třída poskytuje spoustu informací o třídě, jejímž členem dotyčný objekt je. Např. bázový typ, metody, vlastnosti..;

  • object MemberWiseClone() - vytváří mělkou kopii objektu, tzn. kopíruje všechny hodnotové typy v instanci třídy.