XamlObjectWriter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает граф объектов из исходного потока узлов XAML.
public ref class XamlObjectWriter : System::Xaml::XamlWriter, System::Xaml::IXamlLineInfoConsumer
public class XamlObjectWriter : System.Xaml.XamlWriter, System.Xaml.IXamlLineInfoConsumer
type XamlObjectWriter = class
inherit XamlWriter
interface IXamlLineInfoConsumer
Public Class XamlObjectWriter
Inherits XamlWriter
Implements IXamlLineInfoConsumer
- Наследование
- Реализации
Комментарии
Write Методы XamlObjectWriter реализации шаблона, чтобы XamlObjectWriter использовать XamlWriter метод, определенный методомWriteNode.
WriteNode логика переключается между Write методами в зависимости от типа узла в текущей позиции средства чтения.
Объем
Имеет XamlObjectWriter концепцию области. То есть, XamlObjectWriter она поддерживает концептуальную точку ссылки в графе выходного объекта. Для определенной области некоторые операции могут быть допустимыми или недопустимыми, или создавать результат без операции. Например, при вызове WriteStartMember директив записи для инициализации объекта, уже существующего в качестве экземпляра, реализация по умолчанию создает исключение.
Возможный способ отслеживания области в пользовательском XamlObjectWriter — выравнивание действий узла с классом стека или кадра. Стек или кадр могут отслеживать отправку и всплывающее окно для каждого уровня глубины объектной модели, введенной или выходной во время XamlObjectWriter записи графа объектов.
Обратные вызовы
Для поддержки промежуточных и расширенных XamlObjectWriter сценариев механизм записи графа объектов предоставляет точки входа обратного вызова, возникающие при XamlObjectWriter фиксации или фиксации определенных действий. Некоторые обратные вызовы включены в параметрах и не зависят от типа объекта или элемента, записываемого; Однако сведения о обратном вызове часто доступны в контексте или в данных события, отправляемых через обратный вызов. Ниже приведен список соответствующих обратных вызовов:
Обратный вызов, объявленный путем AfterBeginInitHandler вызова, при переходе области к новому объекту и на BeginInit этапе существования объекта для каждого созданного объекта.
Обратный вызов, объявленный путем AfterEndInitHandler вызова, при переходе области к новому объекту и на EndInit этапе существования объекта для каждого созданного объекта.
Обратный вызов, объявленный BeforePropertiesHandler при запуске области в объекте, возникает при первом WriteStartMember вызове области объекта, но еще не зафиксирован.
Обратный вызов, объявленный AfterPropertiesHandler при запуске области в объекте, происходит при WriteEndObject вызове области объекта, но еще не зафиксированной.
Обратный вызов, объявленный XamlSetValueHandlerOnSetValue при вызове.
Написание ключей словаря
Реализация по умолчанию XamlObjectWriter поддерживает преобразование типов для ограничений словаря Dictionary<TKey,TValue> перед добавлением содержимого словаря в граф объектов. Таким образом, универсальный словарь может быть ключом во время выполнения объектами и может соответствовать соответствующему поведению универсального Add и индексатора. Однако, как и для базовой XamlObjectWriterверсии, эта возможность существует только для создания графа объектов из базового Dictionary<TKey,TValue> класса, а не для производных Dictionary<TKey,TValue>классов.
Проверка удаления
Записи XAML потенциально используются для отложенных операций или при вызове экземпляра записи XAML, который был удален в промежуточный период. В этих случаях XamlObjectWriter могут возникать ObjectDisposedException различные API.
Конструкторы
| Имя | Описание |
|---|---|
| XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings) |
Инициализирует новый экземпляр класса с помощью контекста, используемого XamlObjectWriter параметром XamlReader и его параметрами. |
| XamlObjectWriter(XamlSchemaContext) |
Инициализирует новый экземпляр XamlObjectWriter класса с помощью контекста схемы XAML, используемого объектом XamlReader. |
Свойства
| Имя | Описание |
|---|---|
| IsDisposed |
Возвращает, вызывается ли Dispose(Boolean) он. (Унаследовано от XamlWriter) |
| Result |
Возвращает последний объект, записанный. Обычно вызывается только в том случае, если поток узла находится в конце и граф объектов завершен. |
| RootNameScope |
INameScope Возвращает службу, которая поддерживает область имен XAML для абсолютного корневого узла записи объектов XAML. |
| SchemaContext |
Возвращает активный контекст схемы XAML. |
| ShouldProvideLineInfo |
Возвращает значение, указывающее, должна ли служба сведений о строке предоставлять значения и поэтому должна вызывать SetLineInfo(Int32, Int32) метод, если это актуально. |
Методы
| Имя | Описание |
|---|---|
| Clear() |
Сбрасывает все возможные кадры и очищает граф объектов. |
| Close() |
Закрывает объект записи XAML. (Унаследовано от XamlWriter) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые XamlObjectWriterи при необходимости, освобождает управляемые ресурсы. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnAfterBeginInit(Object) |
Вызывает любой AfterBeginInitHandler метод, связанный с XamlObjectWriterSettings этим XamlObjectWriter. |
| OnAfterEndInit(Object) |
Вызывает любой AfterEndInitHandler метод, связанный с XamlObjectWriterSettings этим XamlObjectWriter. |
| OnAfterProperties(Object) |
Вызывает любой указанный AfterPropertiesHandler метод, связанный с XamlObjectWriterSettings этим XamlObjectWriter. |
| OnBeforeProperties(Object) |
Вызывает любой указанный BeforePropertiesHandler метод, связанный с XamlObjectWriterSettings этим XamlObjectWriter. |
| OnSetValue(Object, XamlMember, Object) |
Вызывает любой указанный XamlSetValueHandler метод, связанный с XamlObjectWriterSettings этим средством записи, если |
| SetLineInfo(Int32, Int32) |
SetLineInfo(Int32, Int32) Реализует и предоставляет сведения о строке исключений. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| WriteEndMember() |
Закрывает текущую область элемента и может записывать значение области элемента во время закрытия. Новая область становится родительской областью объекта элемента. |
| WriteEndObject() |
Закрывает текущую область объекта в записи. Новая область объекта становится родительской областью элемента. |
| WriteGetObject() |
Записывает концептуальную схему |
| WriteNamespace(NamespaceDeclaration) |
Определяет объявление пространства имен, которое применяется к следующей области объекта или области элементов. |
| WriteNode(XamlReader) |
Выполняет переключение на основе типа узла из средства чтения XAML (NodeType) и вызывает соответствующий |
| WriteStartMember(XamlMember) |
Записывает новый узел-член в текущую область объекта, а область становится новой областью члена. |
| WriteStartObject(XamlType) |
Записывает узел объекта в текущую область и задает область для новой области объекта. |
| WriteValue(Object) |
Записывает значение в текущую область элемента. Если текущая область находится внутри коллекции, словаря или объекта массива, значение должно быть добавлено в коллекцию, словарь или массив. |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
См. Dispose(). (Унаследовано от XamlWriter) |