Практическое руководство. Переопределение метода ToString (Руководство по программированию в C#)
Обновлен: Ноябрь 2007
Каждый объект в языке C# наследует метод ToString, который возвращает строковое представление данного объекта. Например, все переменные типа int имеют метод ToString, который позволяет им возвращать содержимое этой переменной в виде строки:
int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);
При создании пользовательского класса или структуры необходимо переопределить метод ToString, чтобы передать информацию о типе клиентскому коду.
Примечание о безопасности. |
---|
При принятии решения относительно того, какая информация должна будет предоставляться посредством этого метода, подумайте, будет ли создаваемый класс или структура когда-либо использоваться ненадежным кодом. Постарайтесь не предоставлять информацию, которая может быть использована вредоносным кодом. |
Порядок переопределения метода OnString в классе или структуре
Объявите метод ToString со следующими модификаторами и типом возвращаемого значения:
public override string ToString(){}
Реализуйте этот метод таким образом, чтобы он возвращал строку.
Приведенный ниже пример возвращает не только имя класса, но и специфические данные для конкретного экземпляра класса. Обратите внимание, что он также использует метод ToString в переменной age для преобразования типа int в строку, которая может служить выходными данными.
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; } }
См. также
Основные понятия
Руководство по программированию в C#