Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Переопределение System.Object.ToString()

Переопределение System.Object.ToString()

Переопределение метода ToString() дает возможность получить "снимок" текущего состояния объекта. Это может оказаться полезным в процессе отладки. Для примера давайте переопределим System.Object.ToString() так, чтобы возвращалось текстовое представление состояния объекта (обратите внимание на то, что здесь используется новое пространство имен System.Text).

// Нужно сослаться на System.Text для доступа к StringBuilder.
using System;
using System.Text;
class Person {
 // Переопределение System.Object.ToString().
 public override string ToString() {
  StringBuilder sb = new StringBuilder();
  sb.AppendFormat("[FirstName={0}; ", this.firstName);
  sb.AppendFormat(" Lastname={0}; ", this, lastName);
  sb.AppendFormat(" SSN={0};", this.SSN);
  sb.AppendFormat(" Age={0}]", this.age);
  return sb.ToString();
 }
 …
}

To, как вы форматируете строку, возвращающуюся из System.Object.ToString(), не очень важно. В данном примере пары имен и значений помещены в квадратные скобки и разделены точками с запятой (этот формат используется в библиотеках базовых классов .NET).

В этом примере используется новый тип System.Text.StringBuilder, который будет подробно описан позже. Здесь следует только подчеркнуть, что StringBuilder обеспечивает более эффективную альтернативу конкатенации строк в C#.

Оглавление книги


Генерация: 1.134. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз