XamlObjectWriter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
소스 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
메서드는 노드에 따라 형식은 판독기의 현재 위치에 있습니다.
Scope
A XamlObjectWriter 범위는 개념이, XamlObjectWriter 개념적 출력 개체 그래프에 대 한 참조 지점 유지 관리 합니다. 특정 범위에 대 한 특정 작업 올 바르 거 나 잘못 된 경우 수도 없는 작업 결과 생성 합니다. 예를 들어, 호출 하는 경우 WriteStartMember 인스턴스로 이미 있는 개체의 초기화에 대 한 지시문 쓸 기본 구현에서는 예외를 throw 합니다.
사용자 지정의 범위를 추적 하기 위한 가능한 기술 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 작성기 인스턴스에 대해 호출 위치에 잠재적으로 사용 됩니다. 다양 한 Api XamlObjectWriter throw 할 수 있습니다 ObjectDisposedException 이러한 경우입니다.
생성자
XamlObjectWriter(XamlSchemaContext) |
XamlObjectWriter에서 사용하는 XAML 스키마 컨텍스트를 사용하여 XamlReader 클래스의 새 인스턴스를 초기화합니다. |
XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings) |
XamlObjectWriter 및 해당 설정에서 사용하는 컨텍스트를 사용하여 XamlReader 클래스의 새 인스턴스를 초기화합니다. |
속성
IsDisposed |
Dispose(Boolean)가 호출되었는지 여부를 가져옵니다. (다음에서 상속됨 XamlWriter) |
Result |
작성된 마지막 개체를 가져옵니다. 일반적으로 노드 스트림이 마지막에 있고 개체 그래프가 완료된 경우에만 호출됩니다. |
RootNameScope |
XAML 개체 작성기의 절대 노드 루트에 대해 XAML 이름 범위를 유지하는 INameScope 서비스를 가져옵니다. |
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 이벤트 데이터의 |
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) |