XamlMember 클래스

정의

XAML 형식의 멤버에 대해 XAML 형식 시스템 식별자를 제공합니다. 멤버 노드를 처리하는 동안 XAML 판독기 및 XAML 작성기가 사용하는 식별자(XAML 판독기가 StartMember에 위치한 경우)이며, 일반 XAML 형식 시스템 논리에도 사용됩니다.

public ref class XamlMember : IEquatable<System::Xaml::XamlMember ^>
public class XamlMember : IEquatable<System.Xaml.XamlMember>
type XamlMember = class
    interface IEquatable<XamlMember>
Public Class XamlMember
Implements IEquatable(Of XamlMember)
상속
XamlMember
파생
구현

설명

XamlMemberXAML 멤버에 대한 정보를 반환하는 데 세 가지 방법론을 사용할 수 있습니다. 표준 CLR(공용 언어 런타임) 리플렉션; 최적화된 비트 플래그를 사용하는 내부 API를 호출하는 참조 전용 리플렉션 기술입니다. 또는 가능한 XamlMember 서브클래스에서 제공하는 API의 가상 재정의 Lookup* 를 호출합니다. 대부분의 경우 .NET Framework XAML Services API 및 XamlMember API를 사용하는 경우 기본 XAML 스키마 컨텍스트를 사용합니다. .NET Framework XAML 서비스의 기본 XAML 스키마 컨텍스트는 형식 시스템에 CLR 백업을 사용합니다. 이렇게 하면 XAML 판독기 및 XAML 작성기가 CLR 및 해당 리플렉션 기술에 정의되거나 사용할 수 있는 모든 형식 또는 멤버로 작업할 수 있습니다.

Lookup* API 및 XamlMember 파생 클래스

XamlMember 는 파생 클래스가 재정의할 수 있는 여러 가상 멤버를 정의합니다. 이러한 멤버에는 항상 문자열 Lookup로 시작하는 이름이 있습니다. 그런 다음, API 이름의 나머지 부분에서는 가상 메서드가 영향을 주는 속성을 참조합니다. 예를 들어 파생 클래스는 XamlMember 기본 정의 속성 TargetType 이 파생 클래스에서 반환하는 내용에 영향을 주도록 재정 LookupTargetType 의할 수 있습니다. 관련 Lookup* 메서드에 대한 설명서를 참조하여 또는 기존 파생 클래스에서 XamlMember 이러한 속성의 반환 값을 예측할 수 있습니다.

메서드의 Lookup* 목적은 기본 클래스를 통합 XamlMember 하는 XAML 형식 시스템 확장 기술을 제공하는 것입니다. 가상 멤버에서 XamlMember 파생하고 재정의하면 Lookup 지원 형식 시스템 또는 기술의 세부 사항에 연결하지 않고도 XAML 형식 시스템에서 XAML 스키마에 대한 XAML 멤버의 개념을 정의할 수 있습니다. 이 체계에서 제공된 XAML 스키마 컨텍스트를 사용하고 원하는 결과를 계속 반환할 수도 있습니다.

예를 들어 속성을 IsWritePublic고려합니다XamlMember. 이 속성은 serialization에 를 사용하는 XamlWriter 등의 작업이 대상 개체에 이 멤버에 대한 값을 쓸 수 있음을 호출자에게 알릴 수 있습니다. 기본 구현에서는 지원 CLR Type 및 해당 멤버( MemberInfo)에 대한 리플렉션 기술을 사용하여 멤버를 쓰기 가능한지 여부를 결정합니다. 따라서 기본적으로 XAML 형식 시스템은 CLR 형식 시스템에 따라 달라집니다. 그러나 API LookupIsWritePublic를 재정의 IsWritePublic 하여 의 XAML 형식 시스템 보고에 대한 이 종속성을 제거할 수 있습니다. 재정의 내에서 기술과 관련된 메타데이터, 고정 XAML 어휘에 최적화된 기본 조회 테이블 또는 XAML 멤버가 XAML 어휘에서 쓸 수 있는지 여부를 결정하기 위한 다양한 다른 전략과 같은 다른 결정을 사용할 수 있습니다.

XAML 스키마 컨텍스트 없이 XamlMember 생성

XamlMember 대부분의 생성자는 초기화의 일부로 가 XamlSchemaContext 필요합니다. XamlSchemaContext 은 지원 유형에서 전달되는 정보를 가져오는 등 많은 내부 XamlSchemaContext 작업에도 필요합니다. API를 사용하는 XamlMember 경우 일반적으로 XamlSchemaContext 와 같은 주변 구문에서 사용할 수 있는 가 XamlWriter있습니다. 이 경우 XAML 스키마 컨텍스트가 XamlSchemaContext 필요한 모든 XAML 형식 시스템 호출에 참조를 전달할 수 있습니다.

특정 생성자 중 XamlMember(String, XamlType, Boolean)하나인 에는 가 XamlSchemaContext필요하지 않습니다. 그러나 XamlMember 시그니처를 사용하여 생성된 은 에 XamlMember(String, XamlType, Boolean) 대해 를 반환합니다 trueIsUnknown.

와 관련된 XamlObjectWriter로드 경로의 경우 이러한 멤버를 개체 그래프에 쓸 수 없습니다. .NET Framework XAML 서비스 구현 XamlObjectWriter.WriteStartMember 을 사용하여 관련 XamlMember 가 에 대해 보고 true 할 때 호출이 을 IsUnknownthrow합니다XamlObjectWriterException.

구현에서 의 예외XamlObjectWriter를 처리할 수 있거나 동작을 XamlMember 조정하는 다른 방법이 없는 한 에 대한 IsUnknowntrue 이 있는 을 XamlObjectWriter 생성해서는 안 됩니다. 예를 들어 다음 중 하나 이상이 구현에 해당할 수 있습니다.

  • XAML 스키마 컨텍스트는 나중에 사용할 수 있습니다.
  • 멤버 호출자 패턴을 사용합니다.
  • 사용자 지정 XAML 작성기에서 의도적으로 재정 XamlObjectWriter.WriteStartMember 의합니다.

생성자

XamlMember(EventInfo, XamlSchemaContext)

CLR 형식 시스템 XamlMemberEventInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 초기화합니다.

XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

CLR 형식 시스템 XamlMemberEventInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.

XamlMember(PropertyInfo, XamlSchemaContext)

CLR 형식 시스템 XamlMemberPropertyInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 초기화합니다.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

리플렉션 XamlMemberPropertyInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

연결 가능한 속성을 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 초기화합니다.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

연결 가능한 속성을 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.

XamlMember(String, MethodInfo, XamlSchemaContext)

연결 가능한 이벤트를 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 초기화합니다.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

연결 가능한 이벤트를 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.

XamlMember(String, XamlType, Boolean)

문자열 이름을 사용하고 XamlMember 정보를 선언하여 XamlType 클래스의 새 인스턴스를 초기화합니다. 이 서명을 사용하여 생성된 XamlMember에는 중요한 제한이 있습니다.

속성

DeclaringType

XamlType와 연관된 멤버를 선언하는 형식의 XamlMember을 가져옵니다.

DeferringLoader

XAML 선언된 개체의 지연된 로드에 사용되는 XamlValueConverter<TConverterBase> 개체를 가져옵니다.

DependsOn

XamlMember 개체의 목록을 가져옵니다. 초기화 순서에 대한 종속성 관계가 이 XamlMember를 기준으로 존재하는 경우 해당 멤버를 보고합니다.

Invoker

XamlMemberInvoker과 연결된 XamlMember 구현을 가져옵니다.

IsAmbient

XamlMember가 앰비언트 속성으로 보고되는지 여부를 나타내는 값을 가져옵니다.

IsAttachable

XamlMember가 연결 가능한 멤버인지 여부를 나타내는 값을 가져옵니다.

IsDirective

XamlMember가 XAML 지시문인지 여부를 나타내는 값을 가져옵니다.

IsEvent

XamlMember가 이벤트 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.

IsNameValid

XamlMember가 유효한 xamlName 문자열을 Name으로 사용하여 초기화되었는지 여부를 나타내는 값을 가져옵니다.

IsReadOnly

XamlMember가 읽기 전용 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.

IsReadPublic

XamlMember가 호출 가능한 public get 접근자가 있는 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.

IsUnknown

멤버가 형식 및 멤버 확인에 사용되는 지원 시스템에서 확인될 수 없는지 여부를 나타내는 값을 가져옵니다.

IsWriteOnly

XamlMember가 쓰기 전용 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.

IsWritePublic

XamlMember가 호출 가능한 public set 접근자가 있는 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.

MarkupExtensionBracketCharacters

태그 확장에 대해 여는 대괄호와 닫는 대괄호 문자를 정의합니다.

Name

XamlMember를 선언하는 xamlName 이름 문자열을 가져옵니다.

PreferredXamlNamespace

XamlMember에 대한 기본 XAML 네임스페이스를 식별하는 단일 XAML 네임스페이스 URI를 가져옵니다.

SerializationVisibility

비주얼 디자이너에서 멤버를 어떻게 처리해야 하는지를 나타내는 DesignerSerializationVisibility 값을 가져옵니다.

TargetType

XamlType가 있을 수 있는 형식의 XamlMember을 가져옵니다.

Type

이 멤버가 사용하는 형식의 XamlType을 가져옵니다.

TypeConverter

XAML 선언된 개체의 형식 변환 생성에 사용될 수 있는 XamlValueConverter<TConverterBase> 개체를 가져옵니다.

UnderlyingMember

MemberInfo, PropertyInfo 또는 MethodInfo에 의해 생성된 멤버에 사용할 수 있는 CLR 형식 시스템 EventInfo를 가져옵니다.

ValueSerializer

XAML 선언된 개체의 값 serialization에 사용되는 XamlValueConverter<TConverterBase> 개체를 가져옵니다.

메서드

Equals(Object)

현재 개체가 다른 개체와 같은지 여부를 나타냅니다.

Equals(XamlMember)

현재 개체가 동일한 형식의 다른 개체와 같은지 여부를 나타냅니다.

GetHashCode()

이 개체의 해시 코드를 반환합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetXamlNamespaces()

이 XAML 멤버가 있을 수 있는 XAML 네임스페이스의 목록을 반환합니다.

LookupCustomAttributeProvider()

파생 클래스에서 구현되는 경우 ICustomAttributeProvider 구현을 반환합니다.

LookupDeferringLoader()

XAML 선언된 개체의 지연된 로드에 사용되는 XamlValueConverter<TConverterBase> 개체를 반환합니다.

LookupDependsOn()

XamlMember 개체의 목록을 반환합니다. 이 목록의 항목은 초기화 순서에 대한 종속성 관계가 이 XamlMember를 기준으로 존재하는 멤버를 보고합니다.

LookupInvoker()

XamlMemberInvoker과 연결된 XamlMember를 반환합니다.

LookupIsAmbient()

XamlMember가 앰비언트 속성으로 보고되는지 여부를 반환합니다.

LookupIsEvent()

XamlMember가 이벤트를 나타내는지 여부를 반환합니다.

LookupIsReadOnly()

XamlMember가 의도된 읽기 전용 속성을 나타내는지 여부를 반환합니다.

LookupIsReadPublic()

XamlMember가 public get 접근자가 있는 속성을 나타내는지 여부를 반환합니다.

LookupIsUnknown()

XamlMember가 형식 및 멤버 확인에 사용되는 지원 시스템에서 확인될 수 없는 멤버를 나타내는지 여부를 반환합니다.

LookupIsWriteOnly()

XamlMember가 public set 접근자는 있지만 public get 접근자는 없는 멤버를 나타내는지 여부를 반환합니다.

LookupIsWritePublic()

XamlMember가 public set 접근자가 있는 멤버를 나타내는지 여부를 반환합니다.

LookupMarkupExtensionBracketCharacters()

태그 확장에 대해 여는 대괄호와 닫는 대괄호 문자를 반환합니다.

LookupTargetType()

XamlType가 있을 수 있는 형식의 XamlMember을 반환합니다.

LookupType()

이 멤버가 사용하는 형식의 XamlType을 반환합니다.

LookupTypeConverter()

XamlMember와 연관된 형식 변환기 구현을 반환합니다.

LookupUnderlyingGetter()

XamlMember와 연관된 get 접근자를 반환합니다.

LookupUnderlyingMember()

MemberInfo와 연관된 CLR 형식 시스템 XamlMember를 반환합니다.

LookupUnderlyingSetter()

XamlMember와 연관된 set 접근자를 반환합니다.

LookupValueSerializer()

XamlMember와 연관된 값 serializer 구현을 반환합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

XamlMember의 문자열 표현을 반환합니다.

연산자

Equality(XamlMember, XamlMember)

지정된 두 XamlMember 개체의 값이 같은지를 확인합니다.

Inequality(XamlMember, XamlMember)

지정된 두 XamlMember 개체의 값이 서로 다른지 확인합니다.

적용 대상

추가 정보