XamlMember Clase

Definición

Proporciona el identificador del sistema de tipos XAML para miembros de tipos XAML. 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.

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 estándar de Common Language Runtime (CLR); una técnica de reflexión de solo referencia que llama a las API internas que usan marcas de bits optimizadas; o llamando a invalidaciones virtuales de la Lookup* API proporcionadas por posibles XamlMember subclases. Para la mayoría de los usos de las API de servicios XAML de .NET Framework y la XamlMember API, se usa el contexto de esquema XAML predeterminado. El contexto de esquema XAML predeterminado para los servicios XAML de .NET Framework usa la copia de seguridad clR para el sistema de tipos. Esto permite que los lectores XAML y los escritores XAML funcionen con cualquier tipo o miembro que esté definido en, o de lo contrario, disponible para clR y sus técnicas de reflexión.

API de Búsqueda* y clases derivadas de XamlMember

XamlMember define varios miembros virtuales que pueden invalidar las clases derivadas. Estos miembros tienen nombres que siempre comienzan con la cadena Lookup. A continuación, el resto del nombre de la API hace referencia a la propiedad que influye el método virtual. Por ejemplo, una XamlMember clase derivada podría invalidar LookupTargetType para influir en lo que devuelve la propiedad TargetType definida por base en una clase derivada. Puede predecir los valores devueltos para estas propiedades en XamlMember o clases derivadas existentes leyendo la documentación de los métodos pertinentes Lookup* .

El propósito de los Lookup* métodos es proporcionar una técnica de extensión del sistema de tipos XAML que incorpora la XamlMember clase base. Al derivar XamlMember y invalidar los Lookup miembros virtuales, puedes definir el concepto de miembro XAML para un esquema XAML en un sistema de tipos XAML sin estar vinculado a los detalles de un sistema de tipos de respaldo o tecnología. También puedes usar un contexto de esquema XAML proporcionado en este esquema y seguir devolviendo los resultados que quieras.

Por ejemplo, considere la XamlMember propiedad IsWritePublic. Esta propiedad informa a los llamadores de que las operaciones como el uso de para XamlWriter la serialización pueden escribir un valor para este miembro en un objeto de destino. En la implementación predeterminada, la determinación de si se puede escribir el miembro se realiza mediante técnicas de reflexión contra clR Type de respaldo y sus miembros ().MemberInfo Por lo tanto, de forma predeterminada, el sistema de tipos XAML depende del sistema de tipos CLR. Sin embargo, puedes quitar esta dependencia para los informes del sistema de tipos XAML de IsWritePublic invalidando la API LookupIsWritePublic. Dentro de la invalidación, puedes usar otras determinaciones, como metadatos específicos de tu tecnología, una tabla de búsqueda principal optimizada para un vocabulario XAML fijo o una variedad de otras estrategias para determinar si un miembro XAML se puede escribir en tu vocabulario XAML.

Construcción de XamlMember sin contexto de esquema XAML

La mayoría de los constructores de XamlMember requieren un XamlSchemaContext elemento como parte de su inicialización. XamlSchemaContext También es necesario para muchas operaciones internasXamlSchemaContext, como la obtención de información que se reenvía desde el tipo de respaldo. Cuando trabaja con la XamlMember API, normalmente tiene un XamlSchemaContext que está disponible desde una construcción circundante, como .XamlWriter En este caso, puedes pasar la XamlSchemaContext referencia a todas las llamadas del sistema de tipos XAML que requieren un contexto de esquema XAML.

Un constructor específico, XamlMember(String, XamlType, Boolean), no requiere un XamlSchemaContext. Sin embargo, un XamlMember que se construye con la XamlMember(String, XamlType, Boolean) firma devuelve true para IsUnknown.

Para una ruta de acceso de carga que implique XamlObjectWriter, este miembro no se puede escribir en un gráfico de objetos. Con la implementación de servicios XAML de .NET Framework, la XamlObjectWriter.WriteStartMember llamada produce un XamlObjectWriterException cuando los informes true pertinentes XamlMember para IsUnknown.

No debe construir un XamlMember que tenga un valor de true para a IsUnknown menos que la implementación pueda controlar las excepciones de XamlObjectWriter, o tiene otras formas de ajustar el XamlObjectWriter comportamiento. Por ejemplo, una o varias de las siguientes opciones podrían ser verdaderas de la implementación:

  • El contexto de esquema XAML está disponible más adelante.
  • Se usa un patrón de invocador de miembro.
  • Invalida XamlObjectWriter.WriteStartMember deliberadamente en un escritor XAML personalizado.

Constructores

XamlMember(EventInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember usando EventInfo del sistema de tipos de CLR y un 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.

XamlMember(PropertyInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember usando PropertyInfo del sistema de tipos de CLR y un 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.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember para un XamlMember que representa una propiedad que se puede adjuntar.

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.

XamlMember(String, MethodInfo, XamlSchemaContext)

Inicializa una nueva instancia de la clase XamlMember para un XamlMember que representa un evento que se puede adjuntar.

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.

XamlMember(String, XamlType, Boolean)

Inicializa una nueva instancia de la clase XamlMember usando un nombre de cadena y declarando información de XamlType. Un XamlMember que se construye con esta firma tiene limitaciones importantes.

Propiedades

DeclaringType

Obtiene el XamlType para el tipo que declara el miembro asociado a este XamlMember.

DeferringLoader

Obtiene un objeto XamlValueConverter<TConverterBase>, que se usa para la carga diferida de objetos declarados en XAML.

DependsOn

Obtiene una lista de objetos XamlMember. Indican los miembros donde existen relaciones de dependencia para el orden de inicialización con respecto a este XamlMember.

Invoker

Obtiene la implementación de XamlMemberInvoker que está asociada a este objeto XamlMember.

IsAmbient

Obtiene un valor que indica si este objeto XamlMember se notifica como una propiedad de ambiente.

IsAttachable

Obtiene un valor que indica si este XamlMember es un miembro que se puede adjuntar.

IsDirective

Obtiene un valor que indica si este XamlMember es una directiva XAML.

IsEvent

Obtiene un valor que indica si este XamlMember representa un miembro de evento.

IsNameValid

Obtiene un valor que indica si este XamlMember se inicializa con una cadena xamlName válida como valor de su propiedad Name.

IsReadOnly

Obtiene un valor que indica si XamlMember representa un miembro de solo lectura.

IsReadPublic

Obtiene un valor que indica si este XamlMember representa un miembro con un descriptor de acceso get público invocable.

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.

IsWriteOnly

Obtiene un valor que indica si XamlMember representa un miembro de solo escritura.

IsWritePublic

Obtiene un valor que indica si este XamlMember representa un miembro que tiene un descriptor de acceso set público invocable.

MarkupExtensionBracketCharacters

Define los caracteres de corchete de apertura y cierre de una extensión de marcado.

Name

Obtiene la cadena de nombre xamlName que declara este XamlMember.

PreferredXamlNamespace

Obtiene el identificador URI único del espacio de nombres XAML que identifica el espacio de nombres XAML primario de este XamlMember.

SerializationVisibility

Obtiene un valor DesignerSerializationVisibility, que indica cómo un diseñador visual debería procesar el miembro.

TargetType

Obtiene el objeto XamlType del tipo donde XamlMember puede existir.

Type

Obtiene el objeto XamlType del tipo usado por el miembro.

TypeConverter

Obtiene un objeto XamlValueConverter<TConverterBase>, que se puede usar para la construcción de la conversión de tipos de objetos XAML declarados.

UnderlyingMember

Obtiene el objeto MemberInfo del sistema de tipos de CLR que está disponible para un miembro construido por PropertyInfo, MethodInfo o EventInfo.

ValueSerializer

Obtiene un objeto XamlValueConverter<TConverterBase>, que se emplea para la serialización de valores de objetos declarados en XAML.

Métodos

Equals(Object)

Indica si el objeto actual es igual que otro objeto.

Equals(XamlMember)

Indica si el objeto actual es igual que otro objeto del mismo tipo.

GetHashCode()

Devuelve el código hash de este objeto.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetXamlNamespaces()

Devuelve una lista de los espacios de nombres XAML donde este miembro XAML puede existir.

LookupCustomAttributeProvider()

Cuando se implementa en una clase derivada, devuelve una implementación de ICustomAttributeProvider.

LookupDeferringLoader()

Devuelve un objeto XamlValueConverter<TConverterBase>, que se emplea para la carga diferida de objetos declarados en XAML.

LookupDependsOn()

Devuelve una lista de objetos XamlMember. 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.

LookupInvoker()

Devuelve un XamlMemberInvoker que está asociado con este XamlMember.

LookupIsAmbient()

Devuelve un valor que indica si este objeto XamlMember se considera una propiedad de ambiente.

LookupIsEvent()

Devuelve un valor que indica si este objeto XamlMember representa un evento.

LookupIsReadOnly()

Devuelve un valor que indica si este objeto XamlMember representa una propiedad de solo lectura.

LookupIsReadPublic()

Devuelve un valor que indica si este objeto XamlMember representa una propiedad que tiene un descriptor de acceso get público.

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.

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.

LookupIsWritePublic()

Devuelve un valor que indica si este objeto XamlMember representa un miembro que tiene un descriptor de acceso set público.

LookupMarkupExtensionBracketCharacters()

Devuelve los caracteres de corchete de apertura y cierre de una extensión de marcado.

LookupTargetType()

Devuelve el objeto XamlType del tipo donde XamlMember puede existir.

LookupType()

Devuelve el objeto XamlType del tipo usado por el miembro.

LookupTypeConverter()

Devuelve una implementación de convertidor de tipos que está asociada a este objeto XamlMember.

LookupUnderlyingGetter()

Devuelve un descriptor de acceso get que está asociado a este objeto XamlMember.

LookupUnderlyingMember()

Devuelve un objeto MemberInfo del sistema de tipos de CLR que está asociado a este objeto XamlMember.

LookupUnderlyingSetter()

Devuelve un descriptor de acceso set que está asociado a este objeto XamlMember.

LookupValueSerializer()

Devuelve una implementación de serializador de valor que está asociada a este XamlMember.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una representación de cadena de este objeto XamlMember.

Operadores

Equality(XamlMember, XamlMember)

Determina si dos objetos XamlMember especificados tienen el mismo valor.

Inequality(XamlMember, XamlMember)

Determina si dos objetos XamlMember especificados tienen valores diferentes.

Se aplica a

Consulte también