Procedura: eseguire l'override del metodo ToString (Guida per programmatori C#)
Aggiornamento: novembre 2007
In C# ogni oggetto eredita il metodo ToString, il quale restituisce una rappresentazione in formato stringa di tale oggetto. Tutte le variabili di tipo int dispongono ad esempio di un metodo ToString, che consente di restituire il relativo contenuto in formato stringa:
int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);
Quando si crea una struttura o una classe personalizzata, è necessario eseguire l'override del metodo ToString per fornire informazioni sul tipo al codice client.
Nota sulla sicurezza: |
---|
Quando si decide quali informazioni fornire attraverso questo metodo, considerare se la classe o la struttura verrà utilizzata da codice non attendibile. Assicurarsi di non fornire informazioni che potrebbero essere utilizzate da codice dannoso. |
Per eseguire l'override del metodo OnString nella classe o nella struttura
Dichiarare un metodo ToString con i modificatori e il tipo restituito seguenti:
public override string ToString(){}
Implementare il metodo in modo che restituisca una stringa.
Nell'esempio seguente viene restituito non solo il nome della classe, ma anche i dati specifici di una determinata istanza della classe. Si noti che utilizza anche il metodo ToString nella variabile age per convertire int in una stringa che possa essere restituita.
class Person { string name; int age; SampleObject(string name, int age) { this.name = name; this.age = age; } public override string ToString() { string s = age.ToString(); return "Person: " + name + " " + s; } }