System.Object

.::Home::.

.::Introduzione::.

1.Panoramica

4.DataBase

.::Presentazioni PPT::.

.::Link::.

.::DownLoad::.

 

In C# tutti i tipi, sono derivati dal tipo base System.Object.

Il CLR richiede che l'origine ultima di ogni tipo, indipendentemente da quante volte sia stato derivato, sia il tipo System.Object.

L'avere tutti i tipi derivati da un unico progenitore garantisce che ogni oggetto di ogni tipo offra un set minimo di caratteristiche comuni.

In particolare la classe System.Object offre i seguenti metodi:

Equals (public, virtual): Permette la comparazione di due oggetti per stabilire se il loro valore è uguale.
GetHashCode (public, virtual): Permette ai tipi di restituire un integer a 32bit con segno come codice hash per i suoi oggetti. Si solito viene utilizzato per memorizzare oggetti in una tabella hash.
ToString (public, virtual): Permette ad un tipo di fornire in ritorno una stringa che rappresenta il valore dell'oggetto.
GetType (public, non-virtual): Restituisce un oggetto che rappresenta il tipo dell'oggetto.
MemberwiseClone (protected, non-virtual): Permette al tipo di costruire una nuova istanza che è copia di se stesso.
Finalize (protected, virtual): Permette di ripulire dalla memoria gli oggetti del tipo e rilasciare le risorse associate.

L'esempio illustra come creare un tipo molto semplice e come sia possibile chiamare i metodi pubblici definiti in System.Object usando un'istanza di questo semplice tipo:

// Permette riferimenti semplificati al namespace System
using System;

// Questo tipo è implicitamente derivato da System.Object
class SimpleType {
}
// Questa "classe" esiste solo per ospitare la funzione entry point dell'applicazione
class App {
// Il metodo statico Main è l'entry point dell'applicazione
    public static void Main() {
        SimpleType st = new SimpleType();
        Console.WriteLine("Equals object: "  + st.Equals(new Object()));
        Console.WriteLine("GetHashCode: "    + st.GetHashCode());
        Console.WriteLine("ToString: "       + st.ToString());
        Console.WriteLine("GetType: "        + st.GetType());

	Console.WriteLine();
	Console.Write("Press Enter to close window.");
	Console.Read();
    }	
}

 

Fonti:

Documentazione .NET Framework SDK

.::^top^::.

(2002) A cura di Carlo Becchi