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
в зависимости от типа узла в текущей позиции средства чтения.
Область
A XamlObjectWriter имеет концепцию области; то есть XamlObjectWriter поддерживает концептуальную точку ссылки в графе выходного объекта. Для определенной области некоторые операции могут быть допустимыми или недопустимыми, или выдавать результат без операции. Например, при вызове WriteStartMember директив записи для инициализации объекта, уже существующего в качестве экземпляра, реализация по умолчанию создает исключение.
Возможный способ отслеживания области в пользовательском XamlObjectWriter — выравнивание действий узла с классом стека или кадра. Стек или кадр могут отслеживать отправку и всплывающее окно для каждого уровня глубины объектной модели, введенной или выходя из нее во время XamlObjectWriter записи графа объектов.
Обратные вызовы
Для поддержки промежуточных и расширенных XamlObjectWriter сценариев механизм записи графа объектов предоставляет точки входа обратного вызова, возникающие при XamlObjectWriter фиксации или фиксации определенных действий. Некоторые обратные вызовы включены в параметрах и не относятся к типу объекта или записанному члену; однако сведения о обратном вызове часто доступны в контексте или содержатся в данных события, отправляемых через обратный вызов. Ниже приведен список соответствующих обратных вызовов.
Обратный вызов, объявленный методом AfterBeginInitHandler , вызывается, когда область переходит к новому объекту и на BeginInit этапе времени существования объекта для каждого созданного объекта.
Обратный вызов, объявленный методом AfterEndInitHandler , вызывается, когда область переходит к новому объекту и на EndInit этапе времени существования объекта для каждого созданного объекта.
Обратный вызов, объявленный методом BeforePropertiesHandler , вызывается при запуске области в объекте и возникает при первом WriteStartMember вызове этой области объекта, но еще не зафиксирована.
Обратный вызов, объявленный методом AfterPropertiesHandler , вызывается при запуске области в объекте и происходит при вызове WriteEndObject области объекта, но еще не зафиксированной.
Обратный вызов, объявленный XamlSetValueHandler при OnSetValue вызове.
Написание ключей словаря
Реализация XamlObjectWriter по умолчанию поддерживает преобразование типов для ограничений, Dictionary<TKey,TValue> предшествующих добавлению содержимого словаря в граф объектов. Таким образом, универсальный словарь может быть ключом во время выполнения объектами и может соответствовать соответствующему поведению универсального Add
и индексатора. Однако, как реализовано для базы XamlObjectWriter, эта возможность существует только для создания графа объектов из базового Dictionary<TKey,TValue> класса, а не для производных Dictionary<TKey,TValue>классов .
Проверка удаления
Записи XAML потенциально используются для отложенных операций или при вызове экземпляра модуля записи XAML, который был удален в промежуточный период. В таких случаях XamlObjectWriter могут создаваться ObjectDisposedException различные API.
Конструкторы
XamlObjectWriter(XamlSchemaContext) |
Инициализирует новый экземпляр класса XamlObjectWriter, используя контекст схемы XAML, применяемый объектом XamlReader. |
XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings) |
Инициализирует новый экземпляр класса XamlObjectWriter контекстом, используемым объектом 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) |