다음을 통해 공유


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 메서드는 노드에 따라 형식은 판독기의 현재 위치에 있습니다.

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 이벤트 데이터의 handledtrue가 아니면 이 작성기에 대해 XamlObjectWriterSettings와 연결된 XamlSetValueEventArgs 참조 메서드를 호출합니다.

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)

적용 대상

추가 정보