Gewusst wie: Überschreiben der ToString-Methode (C#-Programmierhandbuch)
Aktualisiert: November 2007
Jedes Objekt in C# erbt die ToString-Methode, die eine Zeichenfolgendarstellung dieses Objekts zurückgibt. Zum Beispiel verfügen alle Variablen des int-Typs über eine ToString-Methode, mit der ihr Inhalt als Zeichenfolge zurückgegeben werden kann:
int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);
Wenn Sie eine benutzerdefinierte Klasse oder Struktur erstellen, sollten Sie die ToString-Methode überschreiben, um dem Clientcode Informationen über den Typ bereitzustellen.
Sicherheitshinweis: |
---|
Bei der Entscheidung, welche Informationen über diese Methode bereitgestellt werden, sollten Sie berücksichtigen, ob die Klasse oder Struktur möglicherweise einmal von nicht vertrauenswürdigem Code verwendet wird. Stellen Sie keine Informationen bereit, die von bösartigem Code genutzt werden könnten. |
So überschreiben Sie die OnString-Methode in der Klasse oder Struktur
Deklarieren Sie eine ToString-Methode mit den folgenden Modifizierern und folgendem Rückgabetyp:
public override string ToString(){}
Implementieren Sie die Methode, sodass sie eine Zeichenfolge zurückgibt.
Das folgende Codebeispiel gibt nicht nur den Namen der Klasse zurück, sondern auch die Daten für eine bestimmte Instanz der Klasse. Beachten Sie, dass es außerdem die ToString-Methode für die age-Variable verwendet, um int in eine Zeichenfolge zu konvertieren, die ausgegeben werden kann.
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; } }