XamlMember Clase

Definición

Proporciona el identificador del sistema de tipos XAML para miembros de tipos XAML.Provides the XAML type system identifier for members of XAML types. Los lectores XAML y los sistemas de escritura XAML usan el identificador al procesar los nodos de miembro (cuando el lector XAML está en un miembro StartMember) y también para la lógica general del sistema de tipos de 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)
Herencia
XamlMember
Derivado
Implementaciones

Comentarios

XamlMember puede usar tres metodologías para devolver información sobre un miembro XAML: reflexión de Common Language Runtime estándar (CLR); técnica de reflexión de solo referencia que llama a las API internas que usan marcadores de bits optimizados; o llamando a invalidaciones virtuales de la Lookup* API que proporcionan las posibles XamlMember subclases.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. Para la mayoría de los usos de .NET Framework API de servicios XAML y la XamlMember API, se usa el contexto de esquema XAML predeterminado.For most uses of .NET Framework XAML Services APIs and the XamlMember API, you use the default XAML schema context. El contexto de esquema XAML predeterminado para .NET Framework servicios XAML usa la copia de seguridad de CLR para el sistema de tipos.The default XAML schema context for .NET Framework XAML Services uses CLR backing for the type system. Esto permite a los lectores y escritores de XAML de XAML trabajar con cualquier tipo o miembro que esté definido en el CLR y sus técnicas de reflexión, o de otro modo.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.

Búsquedas * API y clases derivadas de XamlMemberLookup* APIs and XamlMember Derived Classes

XamlMember define varios miembros virtuales que las clases derivadas pueden invalidar.XamlMember defines several virtual members that derived classes might override. Estos miembros tienen nombres que siempre comienzan con la cadena Lookup .These members have names that always start with the string Lookup. El resto del nombre de la API hace referencia a la propiedad a la que afecta el método virtual.The remainder of the API name then references the property that the virtual method influences. Por ejemplo, una XamlMember clase derivada podría invalidar LookupTargetType para influir en lo que devuelve la propiedad definida por base TargetType en una clase derivada.For example, a XamlMember derived class might override LookupTargetType to influence what the base-defined property TargetType returns in a derived class. Puede predecir los valores devueltos para dichas propiedades en XamlMember o en clases derivadas existentes leyendo la documentación de los Lookup* métodos pertinentes.You can predict return values for such properties in XamlMember or existing derived classes by reading the documentation for the relevant Lookup* methods.

El propósito de los Lookup* métodos es proporcionar una técnica de extensión del sistema de tipos XAML que incorpore la XamlMember clase base.The purpose of the Lookup* methods is to provide a XAML type system extension technique that incorporates the XamlMember base class. Al derivar de XamlMember y reemplazar los Lookup miembros virtuales, puede definir el concepto de un miembro XAML para un esquema XAML en un sistema de tipos XAML sin estar vinculado a los detalles de una tecnología o del sistema de tipos de respaldo.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. También puede utilizar un contexto de esquema XAML proporcionado en este esquema y seguir devolviendo los resultados que desee.You can also use a provided XAML schema context under this scheme and still return the results you want.

Como ejemplo, considere la XamlMember propiedad IsWritePublic .As an example, consider the XamlMember property IsWritePublic. Esta propiedad informa a los llamadores de que las operaciones como el uso XamlWriter de para la serialización pueden escribir un valor para este miembro en un objeto de destino.This property informs callers that operations such as using a XamlWriter for serialization can write a value for this member on a target object. En la implementación predeterminada, la determinación de si se puede escribir en el miembro se realiza mediante técnicas de reflexión en el CLR de respaldo Type y sus miembros (el 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). Por consiguiente, de forma predeterminada, el sistema de tipos XAML depende del sistema de tipos de CLR.Therefore, by default, the XAML type system depends on the CLR type system. Sin embargo, puede quitar esta dependencia para los informes del sistema de tipos XAML de IsWritePublic invalidando la API LookupIsWritePublic .However, you can remove this dependency for your XAML type system reporting of IsWritePublic by overriding the API LookupIsWritePublic. Dentro de la invalidación, puede usar otras determinaciones, como los metadatos específicos de su tecnología, una tabla de búsqueda maestra que está optimizada para un vocabulario XAML fijo, o una variedad de otras estrategias para determinar si un miembro XAML es grabable en el vocabulario 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.

Construir XamlMember sin contexto de esquema XAMLConstructing XamlMember Without XAML Schema Context

La mayoría de los constructores de XamlMember requieren un XamlSchemaContext como parte de su inicialización.Most constructors of XamlMember require a XamlSchemaContext as part of their initialization. XamlSchemaContextTambién es necesario para muchas operaciones internas XamlSchemaContext , como obtener información que se reenvía desde el tipo de respaldo.The XamlSchemaContext is also necessary for many internal XamlSchemaContext operations, such as obtaining information that is being forwarded from the backing type. Al trabajar con la XamlMember API, normalmente tiene un XamlSchemaContext que está disponible desde una construcción circundante como XamlWriter .When you are working with the XamlMember API, you typically have a XamlSchemaContext that is available from a surrounding construct such as a XamlWriter. En este caso, puede pasar la XamlSchemaContext referencia a todas las llamadas del sistema de tipos XAML que requieren un contexto de esquema XAML.In this case, you can pass the XamlSchemaContext reference through to all XAML type system calls that require a XAML schema context.

Un constructor específico, XamlMember(String, XamlType, Boolean) , no requiere un XamlSchemaContext .One specific constructor, XamlMember(String, XamlType, Boolean), does not require a XamlSchemaContext. Sin embargo, un XamlMember que se construye con la XamlMember(String, XamlType, Boolean) firma devuelve true para IsUnknown .However, a XamlMember that is constructed with the XamlMember(String, XamlType, Boolean) signature returns true for IsUnknown.

En el caso de una ruta de acceso de carga que implique XamlObjectWriter , este tipo de miembro no se puede escribir en un gráfico de objetos.For a load path that involves XamlObjectWriter, such a member cannot be written into an object graph. Mediante el .NET Framework la implementación de servicios XAML, la XamlObjectWriter.WriteStartMember llamada produce una excepción XamlObjectWriterException cuando los XamlMember informes relevantes true para IsUnknown .Using the .NET Framework XAML services implementation, the XamlObjectWriter.WriteStartMember call throws a XamlObjectWriterException when the relevant XamlMember reports true for IsUnknown.

No debe construir un XamlMember que tenga un valor de true para IsUnknown a menos que la implementación de pueda controlar las excepciones de XamlObjectWriter o que tenga otras maneras de ajustar el XamlObjectWriter comportamiento.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. Por ejemplo, uno o varios de los siguientes pueden ser verdaderos de la implementación:For example, one or more of the following might be true of your implementation:

  • El contexto de esquema XAML está disponible más adelante.The XAML schema context is available later.

  • Se usa un patrón de invocador de miembro.You use a member invoker pattern.

  • Invalide de forma deliberada XamlObjectWriter.WriteStartMember en un escritor de XAML personalizado.You deliberately override XamlObjectWriter.WriteStartMember in a custom XAML writer.

Constructores

XamlMember(EventInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember usando EventInfo del sistema de tipos de CLR y un XamlSchemaContext.Initializes a new instance of the XamlMember class using CLR type system EventInfo and a XamlSchemaContext.

XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializa una nueva instancia de la clase XamlMember usando EventInfo del sistema de tipos de CLR y un XamlSchemaContext, incluyendo información de XamlMemberInvoker.Initializes a new instance of the XamlMember class using CLR type system EventInfo and a XamlSchemaContext, including XamlMemberInvoker information.

XamlMember(PropertyInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember usando PropertyInfo del sistema de tipos de CLR y un XamlSchemaContext.Initializes a new instance of the XamlMember class using CLR type system PropertyInfo and a XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializa una nueva instancia de la clase XamlMember usando PropertyInfo de reflexión y un XamlSchemaContext, incluyendo información de XamlMemberInvoker.Initializes a new instance of the XamlMember class using reflection PropertyInfo and a XamlSchemaContext, including XamlMemberInvoker information.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember para un XamlMember que representa una propiedad que se puede adjuntar.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable property.

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

Inicializa una nueva instancia de la clase XamlMember para un XamlMember que representa una propiedad que se puede adjuntar, incluyendo información de XamlMemberInvoker.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable property, including XamlMemberInvoker information.

XamlMember(String, MethodInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember para un XamlMember que representa un evento que se puede adjuntar.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable event.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializa una nueva instancia de la clase XamlMember para un XamlMember que representa un evento que se puede adjuntar, incluyendo información de XamlMemberInvoker.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable event, including XamlMemberInvoker information.

XamlMember(String, XamlType, Boolean)

Inicializa una nueva instancia de la clase XamlMember usando un nombre de cadena y declarando información de XamlType.Initializes a new instance of the XamlMember class using a string name and declaring XamlType information. Un XamlMember que se construye con esta firma tiene limitaciones importantes.A XamlMember that is constructed with this signature has significant limitations.

Propiedades

DeclaringType

Obtiene el XamlType para el tipo que declara el miembro asociado a este XamlMember.Gets the XamlType for the type that declares the member that is associated with this XamlMember.

DeferringLoader

Obtiene un objeto XamlValueConverter<TConverterBase>, que se usa para la carga diferida de objetos declarados en XAML.Gets a XamlValueConverter<TConverterBase> object, which is used for deferred loading of XAML declared objects.

DependsOn

Obtiene una lista de objetos XamlMember.Gets a list of XamlMember objects. Indican los miembros donde existen relaciones de dependencia para el orden de inicialización con respecto a este XamlMember.These report the members where dependency relationships for initialization order exist relative to this XamlMember.

Invoker

Obtiene la implementación de XamlMemberInvoker que está asociada a este objeto XamlMember.Gets the XamlMemberInvoker implementation that is associated with this XamlMember.

IsAmbient

Obtiene un valor que indica si este objeto XamlMember se notifica como una propiedad de ambiente.Gets a value that indicates whether this XamlMember is reported as an ambient property.

IsAttachable

Obtiene un valor que indica si este XamlMember es un miembro que se puede adjuntar.Gets a value that indicates whether this XamlMember is an attachable member.

IsDirective

Obtiene un valor que indica si este XamlMember es una directiva XAML.Gets a value that indicates whether this XamlMember is a XAML directive.

IsEvent

Obtiene un valor que indica si este XamlMember representa un miembro de evento.Gets a value that indicates whether this XamlMember represents an event member.

IsNameValid

Obtiene un valor que indica si este XamlMember se inicializa con una cadena xamlName válida como valor de su propiedad Name.Gets a value that indicates whether this XamlMember is initialized with a valid xamlName string as its Name.

IsReadOnly

Obtiene un valor que indica si XamlMember representa un miembro de solo lectura.Gets a value that indicates whether this XamlMember represents a read-only member.

IsReadPublic

Obtiene un valor que indica si este XamlMember representa un miembro con un descriptor de acceso get público invocable.Gets a value that indicates whether this XamlMember represents a member with a callable public get accessor.

IsUnknown

Obtiene un valor que indica si el sistema de respaldo usado para la resolución de tipos y de miembros no puede resolver el miembro.Gets a value that indicates whether the member is not resolvable by the backing system that is used for type and member resolution.

IsWriteOnly

Obtiene un valor que indica si XamlMember representa un miembro de solo escritura.Gets a value that indicates whether this XamlMember represents a write-only member.

IsWritePublic

Obtiene un valor que indica si este XamlMember representa un miembro que tiene un descriptor de acceso set público invocable.Gets a value that indicates whether this XamlMember represents a member that has a callable public set accessor.

MarkupExtensionBracketCharacters

Define los caracteres de corchete de apertura y cierre de una extensión de marcado.Defines the opening and closing bracket characters for a markup extension.

Name

Obtiene la cadena de nombre xamlName que declara este XamlMember.Gets the xamlName name string that declares this XamlMember.

PreferredXamlNamespace

Obtiene el identificador URI único del espacio de nombres XAML que identifica el espacio de nombres XAML primario de este XamlMember.Gets the single XAML namespace URI that identifies the primary XAML namespace for this XamlMember.

SerializationVisibility

Obtiene un valor DesignerSerializationVisibility, que indica cómo un diseñador visual debería procesar el miembro.Gets a DesignerSerializationVisibility value, which indicates how a visual designer should process the member.

TargetType

Obtiene el objeto XamlType del tipo donde XamlMember puede existir.Gets the XamlType of the type where the XamlMember can exist.

Type

Obtiene el objeto XamlType del tipo usado por el miembro.Gets the XamlType of the type that is used by the member.

TypeConverter

Obtiene un objeto XamlValueConverter<TConverterBase>, que se puede usar para la construcción de la conversión de tipos de objetos XAML declarados.Gets a XamlValueConverter<TConverterBase> object, which can be used for type conversion construction of XAML declared objects.

UnderlyingMember

Obtiene el objeto MemberInfo del sistema de tipos de CLR que está disponible para un miembro construido por PropertyInfo, MethodInfo o EventInfo.Gets the CLR type system MemberInfo that is available for a member that is constructed by PropertyInfo, MethodInfo, or EventInfo.

ValueSerializer

Obtiene un objeto XamlValueConverter<TConverterBase>, que se emplea para la serialización de valores de objetos declarados en XAML.Gets a XamlValueConverter<TConverterBase> object, which is used for value serialization of XAML declared objects.

Métodos

Equals(Object)

Indica si el objeto actual es igual que otro objeto.Indicates whether the current object is equal to another object.

Equals(XamlMember)

Indica si el objeto actual es igual que otro objeto del mismo tipo.Indicates whether the current object is equal to another object of the same type.

GetHashCode()

Devuelve el código hash de este objeto.Returns the hash code for this object.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetXamlNamespaces()

Devuelve una lista de los espacios de nombres XAML donde este miembro XAML puede existir.Returns a list of XAML namespaces where this XAML member can exist.

LookupCustomAttributeProvider()

Cuando se implementa en una clase derivada, devuelve una implementación de ICustomAttributeProvider.When implemented in a derived class, returns an ICustomAttributeProvider implementation.

LookupDeferringLoader()

Devuelve un objeto XamlValueConverter<TConverterBase>, que se emplea para la carga diferida de objetos declarados en XAML.Returns a XamlValueConverter<TConverterBase> object, which is used for deferred loading of XAML declared objects.

LookupDependsOn()

Devuelve una lista de objetos XamlMember.Returns a list of XamlMember objects. Los elementos de la lista notifican los miembros en los que existen relaciones de dependencia para el orden de inicialización con respecto a este objeto XamlMember.Items in the list report the members where dependency relationships for initialization order exist relative to this XamlMember.

LookupInvoker()

Devuelve un XamlMemberInvoker que está asociado con este XamlMember.Returns a XamlMemberInvoker that is associated with this XamlMember.

LookupIsAmbient()

Devuelve un valor que indica si este objeto XamlMember se considera una propiedad de ambiente.Returns whether this XamlMember is reported as an ambient property.

LookupIsEvent()

Devuelve un valor que indica si este objeto XamlMember representa un evento.Returns whether this XamlMember represents an event.

LookupIsReadOnly()

Devuelve un valor que indica si este objeto XamlMember representa una propiedad de solo lectura.Returns whether this XamlMember represents an intended read-only property.

LookupIsReadPublic()

Devuelve un valor que indica si este objeto XamlMember representa una propiedad que tiene un descriptor de acceso get público.Returns whether this XamlMember represents a property that has a public get accessor.

LookupIsUnknown()

Devuelve un valor que indica si este objeto XamlMember representa un miembro que no puede ser resuelto por el sistema de respaldo que se usa para la resolución de tipos y miembros.Returns whether this XamlMember represents a member that is not resolvable by the backing system that is used for type and member resolution.

LookupIsWriteOnly()

Devuelve un valor que indica si este objeto XamlMember representa un miembro que tiene un descriptor de acceso set público pero no un descriptor de acceso get público.Returns whether this XamlMember represents a member that has a public set accessor but not a public get accessor.

LookupIsWritePublic()

Devuelve un valor que indica si este objeto XamlMember representa un miembro que tiene un descriptor de acceso set público.Returns whether this XamlMember represents a member that has a public set accessor.

LookupMarkupExtensionBracketCharacters()

Devuelve los caracteres de corchete de apertura y cierre de una extensión de marcado.Returns the opening and closing bracket characters for a markup extension.

LookupTargetType()

Devuelve el objeto XamlType del tipo donde XamlMember puede existir.Returns the XamlType of the type where the XamlMember can exist.

LookupType()

Devuelve el objeto XamlType del tipo usado por el miembro.Returns the XamlType of the type that is used by the member.

LookupTypeConverter()

Devuelve una implementación de convertidor de tipos que está asociada a este objeto XamlMember.Returns a type converter implementation that is associated with this XamlMember.

LookupUnderlyingGetter()

Devuelve un descriptor de acceso get que está asociado a este objeto XamlMember.Returns a get accessor that is associated with this XamlMember.

LookupUnderlyingMember()

Devuelve un objeto MemberInfo del sistema de tipos de CLR que está asociado a este objeto XamlMember.Returns a CLR type system MemberInfo that is associated with this XamlMember.

LookupUnderlyingSetter()

Devuelve un descriptor de acceso set que está asociado a este objeto XamlMember.Returns a set accessor that is associated with this XamlMember.

LookupValueSerializer()

Devuelve una implementación de serializador de valor que está asociada a este XamlMember.Returns a value serializer implementation that is associated with this XamlMember.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una representación de cadena de este objeto XamlMember.Returns a string representation of this XamlMember.

Operadores

Equality(XamlMember, XamlMember)

Determina si dos objetos XamlMember especificados tienen el mismo valor.Determines whether two specified XamlMember objects have the same value.

Inequality(XamlMember, XamlMember)

Determina si dos objetos XamlMember especificados tienen valores diferentes.Determines whether two specified XamlMember objects have different values.

Se aplica a

Consulte también