Så här åsidosätter du ToString-metoden (C#-programmeringsguiden)
Varje klass eller struct i C# ärver Object implicit klassen. Därför hämtar ToString varje objekt i C# metoden, som returnerar en strängrepresentation av objektet. Till exempel har alla variabler av typen int
en ToString
metod som gör att de kan returnera innehållet som en sträng:
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42
När du skapar en anpassad klass eller struct bör du åsidosätta ToString metoden för att ange information om din typ till klientkoden.
Information om hur du använder formatsträngar och andra typer av anpassad formatering med metoden finns i ToString
Formateringstyper.
Viktigt!
När du bestämmer vilken information du ska ange via den här metoden bör du överväga om din klass eller struct någonsin kommer att användas av kod som inte är betrodd. Var noga med att se till att du inte anger någon information som kan utnyttjas av skadlig kod.
Så här åsidosätter ToString
du metoden i din klass eller struct:
Deklarera en
ToString
metod med följande modifierare och returtyp:public override string ToString(){}
Implementera metoden så att den returnerar en sträng.
I följande exempel returneras namnet på klassen utöver de data som är specifika för en viss instans av klassen.
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
Du kan testa
ToString
metoden enligt följande kodexempel:Person person = new Person { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12