XamlMember Class

Definition

XAML 형식의 멤버에 대 한 XAML 형식 시스템 식별자를 제공합니다.Provides the XAML type system identifier for members of XAML types. 멤버 노드를 처리하는 동안 XAML 판독기 및 XAML 작성기가 사용하는 식별자(XAML 판독기가 StartMember에 위치한 경우)이며, 일반 XAML 형식 시스템 논리에도 사용됩니다.The identifier is used by XAML readers and XAML writers during processing of member nodes (when the XAML reader is positioned on a StartMember) and also for general XAML type system logic.

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)
Inheritance
XamlMember
Derived
Implements

Remarks

XAML 멤버에 대 한 정보를 반환 하는 데 세 가지 방법, 즉 표준 CLR (공용 언어 런타임) 리플렉션을 사용할 수 XamlMember. 최적화 된 비트 플래그를 사용 하는 내부 Api를 호출 하는 참조 전용 리플렉션 기술입니다. 또는 가능한 XamlMember 서브 클래스에서 제공 하는 Lookup* API의 가상 재정의를 호출 합니다.XamlMember can use three methodologies for returning information about a XAML member: standard common language runtime (CLR) reflection; a reference-only reflection technique calling internal APIs that use optimized bit flags; or calling into virtual overrides of the Lookup* API that is provided by possible XamlMember subclasses. .NET Framework XAML 서비스 Api 및 XamlMember API를 사용 하는 대부분의 경우 기본 XAML 스키마 컨텍스트를 사용 합니다.For most uses of .NET Framework XAML Services APIs and the XamlMember API, you use the default XAML schema context. .NET Framework XAML 서비스에 대 한 기본 XAML 스키마 컨텍스트는 CLR 형식 시스템에 대 한 백업을 사용 합니다.The default XAML schema context for .NET Framework XAML Services uses CLR backing for the type system. 이 통해 XAML 판독기 및 XAML 작성기와 모든 형식 또는 정의 된 멤버 또는 사용할 수 있는 CLR 리플렉션 기술 작동 하도록 합니다.This enables the XAML readers and XAML writers to work with any type or member that is defined in, or otherwise available to, the CLR and its reflection techniques.

조회 Api 및 XamlMember 파생 클래스Lookup* APIs and XamlMember Derived Classes

XamlMember은 파생 클래스가 재정의할 수 있는 여러 가상 멤버를 정의 합니다.XamlMember defines several virtual members that derived classes might override. 이러한 멤버는 항상 Lookup문자열로 시작 하는 이름을 가집니다.These members have names that always start with the string Lookup. API의 나머지 부분에서는 다음 참조는 가상 메서드의 영향을 주는 속성의 이름을 합니다.The remainder of the API name then references the property that the virtual method influences. 예를 들어 XamlMember 파생 클래스는 파생 클래스에서 반환 TargetType 기본 정의 속성에 영향을 주도록 LookupTargetType를 재정의할 수 있습니다.For example, a XamlMember derived class might override LookupTargetType to influence what the base-defined property TargetType returns in a derived class. 관련 Lookup* 메서드에 대 한 설명서를 읽어 XamlMember 또는 기존 파생 클래스에서 이러한 속성의 반환 값을 예측할 수 있습니다.You can predict return values for such properties in XamlMember or existing derived classes by reading the documentation for the relevant Lookup* methods.

Lookup* 메서드의 목적은 XamlMember 기본 클래스를 통합 하는 XAML 형식 시스템 확장 기술을 제공 하는 것입니다.The purpose of the Lookup* methods is to provide a XAML type system extension technique that incorporates the XamlMember base class. XamlMember에서 파생 되 고 Lookup 가상 멤버를 재정의 하 여 xaml 형식 시스템의 xaml 스키마에 대 한 XAML 멤버의 개념을 정의 하 여 지원 형식 시스템이 나 기술에 연결 하지 않아도 되도록 할 수 있습니다.By deriving from XamlMember and overriding the Lookup virtual members, you can define the concept of a XAML member for a XAML schema in a XAML type system without being tied to the specifics of a backing type system or technology. 또한이 체계를 제공 된 XAML 스키마 컨텍스트를 사용 하 고 원하는 결과 반환할 수 있습니다.You can also use a provided XAML schema context under this scheme and still return the results you want.

예를 들어 XamlMember 속성 IsWritePublic를 살펴보겠습니다.As an example, consider the XamlMember property IsWritePublic. 이 속성은 serialization을 위해 XamlWriter를 사용 하는 것과 같은 작업에서 대상 개체의이 멤버에 대 한 값을 쓸 수 있다는 것을 호출자에 게 알립니다.This property informs callers that operations such as using a XamlWriter for serialization can write a value for this member on a target object. 기본 구현에서는 지원 CLR Type 및 해당 멤버 (MemberInfo)에 대해 리플렉션 기술을 사용 하 여 멤버를 쓸 수 있는지 여부를 결정할 수 있습니다.In the default implementation, the determination of whether the member is writable is made by using reflection techniques against the backing CLR Type and its members (the MemberInfo). 따라서 기본적으로 XAML 형식 시스템 CLR 형식 시스템에 종속 됩니다.Therefore, by default, the XAML type system depends on the CLR type system. 그러나 API LookupIsWritePublic를 재정의 하 여 IsWritePublic의 XAML 형식 시스템 보고에 대 한이 종속성을 제거할 수 있습니다.However, you can remove this dependency for your XAML type system reporting of IsWritePublic by overriding the API LookupIsWritePublic. 재정의 내 기술, XAML 멤버의 쓰기 가능 인지 고정된 XAML 어휘, 또는 다양 한 다른 전략을 결정 하는 데에 최적화 된 마스터 조회 테이블에 관련 된 메타 데이터와 같은 다른 판단을 사용할 수 있습니다 프로그램 XAML 어휘입니다.Within your override, you can use other determinations, such as metadata that is specific to your technology, a master lookup table that is optimized for a fixed XAML vocabulary, or a variety of other strategies for determining whether a XAML member is writable in your XAML vocabulary.

XAML 스키마 컨텍스트 없이 XamlMember를 생성합니다.Constructing XamlMember Without XAML Schema Context

XamlMember의 대부분 생성자에는 초기화의 일부로 XamlSchemaContext 필요 합니다.Most constructors of XamlMember require a XamlSchemaContext as part of their initialization. XamlSchemaContext은 지원 형식에서 전달 되는 정보를 가져오는 등의 많은 내부 XamlSchemaContext 작업에도 필요 합니다.The XamlSchemaContext is also necessary for many internal XamlSchemaContext operations, such as obtaining information that is being forwarded from the backing type. XamlMember API를 사용 하는 경우 일반적으로 XamlWriter와 같은 주변 구문에서 사용할 수 있는 XamlSchemaContext 있습니다.When you are working with the XamlMember API, you typically have a XamlSchemaContext that is available from a surrounding construct such as a XamlWriter. 이 경우 XAML 스키마 컨텍스트가 필요한 모든 XAML 형식 시스템 호출을 통해 XamlSchemaContext 참조를 전달할 수 있습니다.In this case, you can pass the XamlSchemaContext reference through to all XAML type system calls that require a XAML schema context.

하나의 특정 생성자 XamlMember(String, XamlType, Boolean)에는 XamlSchemaContext필요 하지 않습니다.One specific constructor, XamlMember(String, XamlType, Boolean), does not require a XamlSchemaContext. 그러나 XamlMember(String, XamlType, Boolean) 서명을 사용 하 여 생성 된 XamlMemberIsUnknown에 대 한 true를 반환 합니다.However, a XamlMember that is constructed with the XamlMember(String, XamlType, Boolean) signature returns true for IsUnknown.

XamlObjectWriter를 포함 하는 로드 경로의 경우 이러한 멤버를 개체 그래프에 쓸 수 없습니다.For a load path that involves XamlObjectWriter, such a member cannot be written into an object graph. .NET Framework XAML 서비스 구현을 사용 하면 관련 XamlMember true IsUnknown에 대해 보고 하는 경우 XamlObjectWriter.WriteStartMember 호출에서 XamlObjectWriterException을 throw 합니다.Using the .NET Framework XAML services implementation, the XamlObjectWriter.WriteStartMember call throws a XamlObjectWriterException when the relevant XamlMember reports true for IsUnknown.

구현에서 XamlObjectWriter의 예외를 처리할 수 없거나 XamlObjectWriter 동작을 조정 하는 다른 방법이 있는 경우를 제외 하 고 IsUnknown에 대 한 true 값이 포함 된 XamlMember를 생성 해서는 안 됩니다.You should not construct a XamlMember that has a value of true for IsUnknown unless your implementation can handle the exceptions from XamlObjectWriter, or you have other ways to adjust the XamlObjectWriter behavior. 예를 들어, 다음 중 하나 이상의 구현의 true 수 있습니다.For example, one or more of the following might be true of your implementation:

  • XAML 스키마 컨텍스트는 나중에 사용할 수 있습니다.The XAML schema context is available later.

  • 멤버 호출자 패턴을 사용 합니다.You use a member invoker pattern.

  • 사용자 지정 XAML 작성기에서 XamlObjectWriter.WriteStartMember를 의도적으로 재정의 합니다.You deliberately override XamlObjectWriter.WriteStartMember in a custom XAML writer.

Constructors

XamlMember(EventInfo, XamlSchemaContext)

CLR 형식 시스템 XamlMemberEventInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XamlMember class using CLR type system EventInfo and a XamlSchemaContext.

XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

CLR 형식 시스템 XamlMemberEventInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.Initializes a new instance of the XamlMember class using CLR type system EventInfo and a XamlSchemaContext, including XamlMemberInvoker information.

XamlMember(PropertyInfo, XamlSchemaContext)

CLR 형식 시스템 XamlMemberPropertyInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XamlMember class using CLR type system PropertyInfo and a XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

리플렉션 XamlMemberPropertyInfo를 사용하여 XamlSchemaContext 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.Initializes a new instance of the XamlMember class using reflection PropertyInfo and a XamlSchemaContext, including XamlMemberInvoker information.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

연결 가능한 속성을 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable property.

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

연결 가능한 속성을 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable property, including XamlMemberInvoker information.

XamlMember(String, MethodInfo, XamlSchemaContext)

연결 가능한 이벤트를 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable event.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

연결 가능한 이벤트를 나타내는 XamlMember에 대해 XamlMember 클래스의 새 인스턴스를 XamlMemberInvoker 정보와 함께 초기화합니다.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable event, including XamlMemberInvoker information.

XamlMember(String, XamlType, Boolean)

문자열 이름을 사용하고 XamlMember 정보를 선언하여 XamlType 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XamlMember class using a string name and declaring XamlType information. 이 서명을 사용하여 생성된 XamlMember에는 중요한 제한이 있습니다.A XamlMember that is constructed with this signature has significant limitations.

Properties

DeclaringType

XamlType와 연관된 멤버를 선언하는 형식의 XamlMember을 가져옵니다.Gets the XamlType for the type that declares the member that is associated with this XamlMember.

DeferringLoader

XAML 선언된 개체의 지연된 로드에 사용되는 XamlValueConverter<TConverterBase> 개체를 가져옵니다.Gets a XamlValueConverter<TConverterBase> object, which is used for deferred loading of XAML declared objects.

DependsOn

XamlMember 개체의 목록을 가져옵니다.Gets a list of XamlMember objects. 초기화 순서에 대한 종속성 관계가 이 XamlMember를 기준으로 존재하는 경우 해당 멤버를 보고합니다.These report the members where dependency relationships for initialization order exist relative to this XamlMember.

Invoker

XamlMemberInvoker과 연결된 XamlMember 구현을 가져옵니다.Gets the XamlMemberInvoker implementation that is associated with this XamlMember.

IsAmbient

XamlMember가 앰비언트 속성으로 보고되는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this XamlMember is reported as an ambient property.

IsAttachable

XamlMember가 연결 가능한 멤버인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this XamlMember is an attachable member.

IsDirective

XamlMember가 XAML 지시문인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this XamlMember is a XAML directive.

IsEvent

XamlMember가 이벤트 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.Gets a value that indicates whether this XamlMember represents an event member.

IsNameValid

XamlMember가 유효한 xamlName 문자열을 Name으로 사용하여 초기화되었는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this XamlMember is initialized with a valid xamlName string as its Name.

IsReadOnly

XamlMember가 읽기 전용 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.Gets a value that indicates whether this XamlMember represents a read-only member.

IsReadPublic

XamlMember가 호출 가능한 public get 접근자가 있는 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.Gets a value that indicates whether this XamlMember represents a member with a callable public get accessor.

IsUnknown

멤버 형식 및 멤버 확인에 사용 되는 지원 시스템에서 확인 될 수 없는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the member is not resolvable by the backing system that is used for type and member resolution.

IsWriteOnly

XamlMember가 쓰기 전용 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.Gets a value that indicates whether this XamlMember represents a write-only member.

IsWritePublic

XamlMember가 호출 가능한 public set 접근자가 있는 멤버를 나타내는지 여부를 표시하는 값을 가져옵니다.Gets a value that indicates whether this XamlMember represents a member that has a callable public set accessor.

MarkupExtensionBracketCharacters

태그 확장에 대해 여는 대괄호와 닫는 대괄호 문자를 정의합니다.Defines the opening and closing bracket characters for a markup extension.

Name

XamlMember를 선언하는 xamlName 이름 문자열을 가져옵니다.Gets the xamlName name string that declares this XamlMember.

PreferredXamlNamespace

XamlMember에 대한 기본 XAML 네임스페이스를 식별하는 단일 XAML 네임스페이스 URI를 가져옵니다.Gets the single XAML namespace URI that identifies the primary XAML namespace for this XamlMember.

SerializationVisibility

비주얼 디자이너에서 멤버를 어떻게 처리해야 하는지를 나타내는 DesignerSerializationVisibility 값을 가져옵니다.Gets a DesignerSerializationVisibility value, which indicates how a visual designer should process the member.

TargetType

XamlType가 있을 수 있는 형식의 XamlMember을 가져옵니다.Gets the XamlType of the type where the XamlMember can exist.

Type

이 멤버가 사용하는 형식의 XamlType을 가져옵니다.Gets the XamlType of the type that is used by the member.

TypeConverter

XAML 선언된 개체의 형식 변환 생성에 사용될 수 있는 XamlValueConverter<TConverterBase> 개체를 가져옵니다.Gets a XamlValueConverter<TConverterBase> object, which can be used for type conversion construction of XAML declared objects.

UnderlyingMember

MemberInfo, PropertyInfo 또는 MethodInfo에 의해 생성된 멤버에 사용할 수 있는 CLR 형식 시스템 EventInfo를 가져옵니다.Gets the CLR type system MemberInfo that is available for a member that is constructed by PropertyInfo, MethodInfo, or EventInfo.

ValueSerializer

XAML 선언된 개체의 값 serialization에 사용되는 XamlValueConverter<TConverterBase> 개체를 가져옵니다.Gets a XamlValueConverter<TConverterBase> object, which is used for value serialization of XAML declared objects.

Methods

Equals(Object)

현재 개체가 다른 개체와 같은지 여부를 나타냅니다.Indicates whether the current object is equal to another object.

Equals(XamlMember)

현재 개체가 동일한 종류의 다른 개체와 동일한지 표시합니다.Indicates whether the current object is equal to another object of the same type.

GetHashCode()

이 개체의 해시 코드를 반환합니다.Returns the hash code for this object.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
GetXamlNamespaces()

이 XAML 멤버가 있을 수 있는 XAML 네임 스페이스의 목록을 반환 합니다.Returns a list of XAML namespaces where this XAML member can exist.

LookupCustomAttributeProvider()

파생 클래스에서 구현되는 경우 ICustomAttributeProvider 구현을 반환합니다.When implemented in a derived class, returns an ICustomAttributeProvider implementation.

LookupDeferringLoader()

XAML 선언된 개체의 지연된 로드에 사용되는 XamlValueConverter<TConverterBase> 개체를 반환합니다.Returns a XamlValueConverter<TConverterBase> object, which is used for deferred loading of XAML declared objects.

LookupDependsOn()

XamlMember 개체의 목록을 반환합니다.Returns a list of XamlMember objects. 이 목록의 항목은 초기화 순서에 대한 종속성 관계가 이 XamlMember를 기준으로 존재하는 멤버를 보고합니다.Items in the list report the members where dependency relationships for initialization order exist relative to this XamlMember.

LookupInvoker()

XamlMemberInvoker과 연결된 XamlMember를 반환합니다.Returns a XamlMemberInvoker that is associated with this XamlMember.

LookupIsAmbient()

XamlMember가 앰비언트 속성으로 보고되는지 여부를 반환합니다.Returns whether this XamlMember is reported as an ambient property.

LookupIsEvent()

XamlMember가 이벤트를 나타내는지 여부를 반환합니다.Returns whether this XamlMember represents an event.

LookupIsReadOnly()

XamlMember가 의도된 읽기 전용 속성을 나타내는지 여부를 반환합니다.Returns whether this XamlMember represents an intended read-only property.

LookupIsReadPublic()

XamlMember가 public get 접근자가 있는 속성을 나타내는지 여부를 반환합니다.Returns whether this XamlMember represents a property that has a public get accessor.

LookupIsUnknown()

XamlMember가 형식 및 멤버 확인에 사용되는 지원 시스템에서 확인될 수 없는 멤버를 나타내는지 여부를 반환합니다.Returns whether this XamlMember represents a member that is not resolvable by the backing system that is used for type and member resolution.

LookupIsWriteOnly()

XamlMember가 public set 접근자는 있지만 public get 접근자는 없는 멤버를 나타내는지 여부를 반환합니다.Returns whether this XamlMember represents a member that has a public set accessor but not a public get accessor.

LookupIsWritePublic()

XamlMember가 public set 접근자가 있는 멤버를 나타내는지 여부를 반환합니다.Returns whether this XamlMember represents a member that has a public set accessor.

LookupMarkupExtensionBracketCharacters()

태그 확장에 대해 여는 대괄호와 닫는 대괄호 문자를 반환합니다.Returns the opening and closing bracket characters for a markup extension.

LookupTargetType()

XamlType가 있을 수 있는 형식의 XamlMember을 반환합니다.Returns the XamlType of the type where the XamlMember can exist.

LookupType()

이 멤버가 사용하는 형식의 XamlType을 반환합니다.Returns the XamlType of the type that is used by the member.

LookupTypeConverter()

XamlMember와 연관된 형식 변환기 구현을 반환합니다.Returns a type converter implementation that is associated with this XamlMember.

LookupUnderlyingGetter()

XamlMember와 연관된 get 접근자를 반환합니다.Returns a get accessor that is associated with this XamlMember.

LookupUnderlyingMember()

MemberInfo와 연관된 CLR 형식 시스템 XamlMember를 반환합니다.Returns a CLR type system MemberInfo that is associated with this XamlMember.

LookupUnderlyingSetter()

XamlMember와 연관된 set 접근자를 반환합니다.Returns a set accessor that is associated with this XamlMember.

LookupValueSerializer()

XamlMember와 연관된 값 serializer 구현을 반환합니다.Returns a value serializer implementation that is associated with this XamlMember.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

XamlMember의 문자열 표현을 반환합니다.Returns a string representation of this XamlMember.

Operators

Equality(XamlMember, XamlMember)

지정된 두 XamlMember 개체의 값이 같은지를 확인합니다.Determines whether two specified XamlMember objects have the same value.

Inequality(XamlMember, XamlMember)

지정된 두 XamlMember 개체의 값이 서로 다른지 확인합니다.Determines whether two specified XamlMember objects have different values.

Applies to

See also