XamlXmlWriter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
TextWriter 또는 XmlWriter 지원 클래스를 사용하여 XAML 노드 스트림을 텍스트 또는 태그 serialize된 양식에 씁니다.
public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
- 상속
설명
이 클래스는 serialization 시나리오에서 일반적으로 사용 됩니다.
XamlXmlWriter를 사용 하는 방법
XamlWriter API에 다양 한 유형의 XAML 노드를 작성 하는 몇 가지 방법이 있습니다. 종합적으로 이러한 라고 설명서에는 Write
의 메서드는 XamlWriter합니다. XamlXmlWriter 때 수행할 작업을 결정 하려면 몇 가지 내부 상태 클래스를 사용 중 해당 Write
구현이 호출 됩니다. Write
호출 상태를 사용 하 여 여부 요청 된 요소, 특성 또는 값을 작성할 수 있습니다, 또는 예외가 throw 되는 여부를 결정 합니다. 예를 들어, 호출 하는 경우 WriteEndObject 의 상태는 XamlXmlWriter 현재 노드 위치는 값 또는 멤버 내에서 예외가 throw 됩니다. 일반적으로 호출자는 XamlXmlWriter API는 XAML 판독기 및 XAML 노드 스트림을에서 오는 현재 XAML 노드의 형식을 알고 있어야 합니다. 이 기술에 따라 호출자에 게 호출 하지 않아야 Write
현재 노드 형식에 관련 되지 않은 Api.
XAML 네임 스페이스 및 XamlXmlWriter
동작을 작성 하는 XAML 네임 스페이스 XamlXmlWriter 에 대 한 명시적 호출으로만 제한 되지 않고 복잡 한 WriteNamespace합니다. 대신 다른 Write
와 같은 호출 WriteStartObject, 노드 구조에서 특정 지점에 작성 하는 네임 스페이스 선언이 필요할 수 있습니다. XAML 작성기 자체 논리를 통해 접두사를 생성 하거나 정보를 사용 하는 INamespacePrefixLookup 기본 접두사를 확인 하는 서비스입니다. 또한 명시적 WriteNamespace 호출 연기할 수 있습니다 또는 아무 것도 반환할 수 있습니다 XAML 네임 스페이스 선언이 면 이미 선언 하 고 해당 다른 곳에서.
메서드가 예외를 작성 합니다.
throw 된 예외는 XamlXmlWriterWrite
메서드는 일반적으로 하나 InvalidOperationException 또는 XamlXmlWriterException합니다.
InvalidOperationException XAML 판독기를 XAML 노드 스트림에 잘못 된 노드 구조를 전달 되도록 나타내는 경우가 많습니다. 이 경우 노드 구조 올바르지 않은 경우의 XAML 스키마 또는 XAML 스키마 컨텍스트를 유효성 검사에 관련 되지 않은 이유입니다. 대신, 노드 스트림에서 기본 형태로 올바르지 않습니다. 예를 들어, 잘못 된 XAML 판독기 구현에는 두 개의 연속를 포함 하는 XAML 노드 스트림을 생성 하는 경우 StartObject
노드를 두 번째 호출 하려는 시도가 WriteStartObject throw는 InvalidOperationException합니다. 모든 XAML 작성기에는 이러한 작업을을 유효 하지 않게는 것이 좋습니다. 또 다른 예는 InvalidOperationException XAML 네임 스페이스 정보를 현재 노드 스트림 위치에 적용 되는 XAML 스키마 컨텍스트를 통해 사용할 수 없는 경우.
XamlXmlWriterException 예외는 의도 한 기능을 기반으로 예외를 throw 하려면이 특정 XAML 작성기 구현 선택 하는 위치를 나타냅니다. A XamlXmlWriterException 특정 한 경우를 나타낼 수 있습니다 위치를 XamlXmlWriter 자체 상태나 설정을 위반 합니다. 예를 들어를 XamlXmlWriterException 위치에 XAML 네임 스페이스 정보 쓰기 시도로 인해 발생할 수는 XamlXmlWriter serialization 형식이 하지 지원 또는 중복 된 멤버를 작성 경우 인스턴스의 XamlXmlWriterSettings 금지 합니다.
생성자
XamlXmlWriter(Stream, XamlSchemaContext) |
스트림에서 XamlXmlWriter 클래스의 새 인스턴스를 초기화합니다. |
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings) |
작성기 설정 개체를 사용하여 스트림에서 XamlXmlWriter 클래스의 새 인스턴스를 초기화합니다. |
XamlXmlWriter(TextWriter, XamlSchemaContext) |
XamlXmlWriter 기초에서 TextWriter 클래스의 새 인스턴스를 초기화합니다. |
XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings) |
설정 개체를 사용하여 XamlXmlWriter 기초에서 TextWriter 클래스의 새 인스턴스를 초기화합니다. |
XamlXmlWriter(XmlWriter, XamlSchemaContext) |
XamlXmlWriter 기초에서 XmlWriter 클래스의 새 인스턴스를 초기화합니다. |
XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings) |
설정 개체를 사용하여 XamlXmlWriter 기초에서 XmlWriter 클래스의 새 인스턴스를 초기화합니다. |
속성
IsDisposed |
Dispose(Boolean)가 호출되었는지 여부를 가져옵니다. (다음에서 상속됨 XamlWriter) |
SchemaContext |
이 XamlXmlWriter가 처리에 사용하는 XAML 스키마 컨텍스트를 가져옵니다. |
Settings |
이 XamlXmlWriter가 XAML 처리에 사용하는 작성기 설정을 가져옵니다. |
메서드
Close() |
XAML 작성기 개체를 닫습니다. (다음에서 상속됨 XamlWriter) |
Dispose(Boolean) |
XamlXmlWriter에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Flush() |
기본 XmlWriter 또는 TextWriter의 |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
WriteEndMember() |
내부 XmlWriter 또는 TextWriter에 XAML 끝 멤버 노드를 씁니다. XAML 노드 스트림의 현재 위치가 멤버 내에 없거나 내부 작성기 상태가 끝 멤버에 쓰는 작업을 지원하지 않으면 예외를 throw합니다. |
WriteEndObject() |
기본 XmlWriter 또는 TextWriter에 XAML 끝 개체 노드를 씁니다. 처리되는 XAML 노드 스트림의 현재 위치가 끝 개체 쓰기와 호환되지 않으면 예외를 throw합니다. |
WriteGetObject() |
지정된 개체가 입력 XAML 노드 집합에서 개체 값으로 지정되는 것이 아니라 기본값이거나 쓰고 있는 속성의 암시적인 값인 경우에 개체를 씁니다. |
WriteNamespace(NamespaceDeclaration) |
기본 XmlWriter 또는 TextWriter에 네임스페이스 정보를 씁니다. 특정 상태에 대해 예외를 throw할 수도 있지만, 그 대신에 작성기 및 처리 중인 XAML 노드 스트림이 XAML 네임스페이스 선언을 삽입할 수 있는 위치에 도달할 때까지 네임스페이스 정보 쓰기를 지연할 수 있습니다. |
WriteNode(XamlReader) |
XAML 판독기(NodeType)의 노드 형식을 기반으로 전환을 수행하고 작성기 구현을 위한 관련 |
WriteStartMember(XamlMember) |
기본 XmlWriter 또는 TextWriter에 XAML 시작 멤버 노드를 씁니다. XAML 노드 스트림의 현재 위치가 다른 멤버 내에 있거나 시작 멤버를 쓸 수 있는 범위나 작성기 상태에 있지 않으면 예외를 throw합니다. |
WriteStartObject(XamlType) |
기본 XmlWriter 또는 TextWriter에 XAML 시작 개체 노드를 씁니다. XAML 노드 스트림의 현재 위치가 시작 개체를 쓸 수 있는 범위에 없거나 작성기가 시작 개체를 쓸 수 있는 상태에 있지 않으면 예외를 throw합니다. |
WriteValue(Object) |
기본 XmlWriter 또는 TextWriter에 XAML 값 노드를 씁니다. XAML 노드 스트림의 현재 위치가 값을 쓰기에 올바른 위치가 아니거나 작성기가 값을 쓸 수 없는 상태에 있으면 예외를 throw합니다. |
명시적 인터페이스 구현
IDisposable.Dispose() |
Dispose()을 참조하세요. (다음에서 상속됨 XamlWriter) |
적용 대상
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기