Как видите, обе переменные экземпляраов объектахоЫиоЬ2ссылаются на один и тот же объект типа X. Поэтому изменения в одном объекте оказывают влияние на другой. Но в то же время поляbтипаintв каждом из них разделены, поскольку типы значений недоступны по ссылке.

Интерфейсы I Forma tProvider и I Format table

В интерфейсеI Forma tProviderопределен единственный методGet Format (), который возвращает объект, определяющий форматирование данных в удобочитаемой форме текстовой строки. Ниже приведена общая форма методаGet Format():

object GetFormat(TypeformatType)

гдеformatType— это объект, получаемый для форматирования.

ИнтерфейсI Format tableподдерживает форматирование выводимых результатов в удобочитаемой форме. В нем определен следующий метод:

string ToString(stringformat,IFormatProviderformatProvider)

гдеformatобозначает инструкции для форматирования, aformatProvider —поставщик формата.

ПРИМЕЧАНИЕ

Подробнее о форматировании речь пойдет в главе 22.

Интерфейсы IObservable и IObserver

В версию .NET Framework 4.0 добавлены еще два интерфейса, поддерживающие шаблон наблюдателя:IObservableиIObserver.В шаблоне наблюдателя один класс (в роли наблюдаемого) предоставляет уведомления другому классу (в роли наблюдателя). С этой целью объект наблюдаемого класса регистрирует объект наблюдающего класса. Для регистрации наблюдателя вызывается методSubscribe (), который определен в интерфейсеIObservableи которому передается объект типаIObserver,принимающий уведомление. Для получения уведомлений можно зарегистрировать несколько наблюдателей. А для отправки уведомлений всем зарегистрированным наблюдателям применяются три метода, определенные в интерфейсеIObserver.Так, методOnNext () отправляет данные наблюдателю, методOnError() сообщает об ошибке, а методOnCompleted() указывает на то, что наблюдаемый объект прекратил отправку уведомлений.

ГЛАВА 22 Строки и форматирование

В этой главе рассматривается классString,положенный в основу встроенного в C# типаstring.Как известно, обработка символьных строк является неотъемлемой частью практически всех программ. Именно по этой причине в классеStringопределяется обширный ряд методов, свойств и полей, обеспечивающих наиболее полное управление процессом построения символьных строк и манипулирования ими. С обработкой строк тесно связано форматирование данных в удобочитаемой форме. Используя подсистему форматирования, можно отформатировать данные всех имеющихся в C# числовых типов, а также дату, время и перечисления.

Строки в с#

Перейти на страницу:

Похожие книги