XamlReader Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет базовые определения для классов, которые используют входные данные XAML и создают потоки узлов XAML.
public ref class XamlReader abstract : IDisposable
public abstract class XamlReader : IDisposable
type XamlReader = class
interface IDisposable
Public MustInherit Class XamlReader
Implements IDisposable
- Наследование
-
XamlReader
- Производный
- Реализации
Комментарии
XamlReader является абстрактным классом и не предоставляет реализаций или определений, имеющих рабочий результат для всех членов. Участники, у которых есть реализация, XamlReader отмечаются в замечаниях для этого члена. В частности, XamlReader имеет несколько абстрактных элементов, которые должны быть реализованы, и несколько виртуальных членов.
Из виртуальных членов ReadSubtree и Skip каждый предоставляет реализацию по умолчанию, которая подходит для большинства случаев. ReadSubtree Однако реализация по Skip умолчанию зависит от другого ожидаемого поведения средства чтения XAML. В частности, они полагаются на Read переопределение. Dispose также является виртуальным членом, который имеет рабочую реализацию по умолчанию.
Следующие два класса являются наиболее актуальными и практическими производными классами в службах XAML .NET Framework и сборке System.Xaml:
XamlObjectReader, который считывает граф объектов, например граф активных объектов приложения во время выполнения.
XamlXmlReader, который считывает XAML в виде XML-текстового файла с помощью общего XmlReader файла, который загружает файл в качестве промежуточного вспомогательного класса.
Другие средства чтения XAML из других платформ включают Baml2006Reader и XamlDebuggerXmlReader.
XamlReader Отличается от принципов объектной модели XML-документа (DOM) и XmlReader принципов проектирования, так как XamlReader не имеет Create метода для возврата базовых реализаций средства чтения XAML по умолчанию. Вместо этого необходимо создать экземпляры определенных производных классов чтения XAML путем вызова своих конструкторов или других вспомогательных API для определенных классов.
Средства чтения поддерев
В большинстве случаев вы вызываете XamlReader API в контексте определенных классов чтения XAML, производных от XamlReader. Однако в одном конкретном случае вы обращаетесь к XamlReader API на практическом экземпляре средства чтения XAML, который не является общедоступным, а не производным от XamlObjectReader него.XamlXmlReader Это происходит при вызовеReadSubtreeXamlReader, который возвращает экземпляр. В реализации по умолчанию, возвращаемое этим API, XamlReader является внутренним классом.
Полученный XamlReader для чтения поддерев имеет допустимые действия для ТАКИх API, как Read и NodeType, и эти действия основаны на родительском классе чтения. Эта конструкция позволяет внутреннему классу отслеживать уровень кадра, в котором был введен поддерев. Действующий поддерев XamlReader гарантирует, что если текущее положение узла перемещается за пределы поддерев, то определенный модуль чтения поддерев сообщает конец файла или null на текущем узле.
Заметки об использовании средства чтения поддерев включаются в некоторые XamlReader API.
Конструкторы
| Имя | Описание |
|---|---|
| XamlReader() |
Инициализирует XamlReader класс. |
Свойства
| Имя | Описание |
|---|---|
| IsDisposed |
Возвращает, вызывается ли Dispose(Boolean) он. |
| IsEof |
При реализации в производном классе получает значение, указывающее, находится ли позиция чтения в конце файла. |
| Member |
При реализации в производном классе получает текущий член в позиции чтения, если позиция читателя находится на.StartMember |
| Namespace |
При реализации в производном классе получает сведения о пространстве имен XAML из текущего узла. |
| NodeType |
При реализации в производном классе получает тип текущего узла. |
| SchemaContext |
При реализации в производном классе получает объект, предоставляющий сведения о контексте схемы XAML для набора сведений. |
| Type |
При реализации в производном классе получает XamlType текущий узел. |
| Value |
При реализации в производном классе получает значение текущего узла. |
Методы
| Имя | Описание |
|---|---|
| Close() |
Закрывает поток узлов XAML. |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые XamlReaderи при необходимости, освобождает управляемые ресурсы. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Read() |
При реализации в производном классе предоставляет следующий узел XAML из источника, если узел доступен. |
| ReadSubtree() |
Возвращает объект XamlReader , основанный на текущем XamlReader, где возвращаемый XamlReader используется для итерации через поддерев структуры узла XAML. |
| Skip() |
Пропускает текущий узел и перемещает положение средства чтения на следующий узел. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса XamlReader. |