Поделиться через


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
Наследование
XamlObjectWriter
Реализации

Комментарии

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 этим средством записи, если handled данные XamlSetValueEventArgs события не trueявляются.

SetLineInfo(Int32, Int32)

SetLineInfo(Int32, Int32) Реализует и предоставляет сведения о строке исключений.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
WriteEndMember()

Закрывает текущую область элемента и может записывать значение области элемента во время закрытия. Новая область становится родительской областью объекта элемента.

WriteEndObject()

Закрывает текущую область объекта в записи. Новая область объекта становится родительской областью элемента.

WriteGetObject()

Записывает концептуальную схему StartObject в граф объектов, если указанный объект является значением по умолчанию или неявным значением родительского свойства. Неявное значение исходит от информации, полученной из контекста схемы XAML и сведений о типе резервного копирования, а не в качестве значения объекта в входном наборе узлов XAML.

WriteNamespace(NamespaceDeclaration)

Определяет объявление пространства имен, которое применяется к следующей области объекта или области элементов.

WriteNode(XamlReader)

Выполняет переключение на основе типа узла из средства чтения XAML (NodeType) и вызывает соответствующий Write метод для реализации записи.

(Унаследовано от XamlWriter)
WriteStartMember(XamlMember)

Записывает новый узел-член в текущую область объекта, а область становится новой областью члена.

WriteStartObject(XamlType)

Записывает узел объекта в текущую область и задает область для новой области объекта.

WriteValue(Object)

Записывает значение в текущую область элемента. Если текущая область находится внутри коллекции, словаря или объекта массива, значение должно быть добавлено в коллекцию, словарь или массив.

Явные реализации интерфейса

Имя Описание
IDisposable.Dispose()

См. Dispose().

(Унаследовано от XamlWriter)

Применяется к

См. также раздел