XamlMember Classe

Definição

Fornece o identificador do sistema de tipos XAML para membros dos tipos XAML. O identificador é usado por leitores e escritores XAML durante o processamento de nós membros (quando o leitor XAML está posicionado num StartMember) e também para a lógica geral do sistema de tipos 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)
Herança
XamlMember
Derivado
Implementações

Observações

XamlMember pode usar três metodologias para devolver informação sobre um membro de XAML: reflexão em tempo de execução de linguagem comum (CLR) padrão; uma técnica de reflexão apenas de referência que chama APIs internas que usam indicadores de bits otimizados; ou apelar para sobrescrições virtuais da Lookup* API fornecidas por possíveis XamlMember subclasses. Para a maioria das utilizações das APIs de Serviços XAML .NET Framework e da API XamlMember, utiliza-se o contexto padrão do esquema XAML. O contexto padrão do esquema XAML para os Serviços XAML do .NET Framework utiliza suporte CLR para o sistema de tipos. Isto permite que os leitores e escritores XAML trabalhem com qualquer tipo ou membro que esteja definido ou disponível para o CLR e as suas técnicas de reflexão.

APIs de Pesquisa* e Classes Derivadas do XamlMember

XamlMember define vários membros virtuais que as classes derivadas podem sobrepor-se. Estes membros têm nomes que começam sempre com a sequência Lookup. O restante do nome da API refere-se então à propriedade que o método virtual influencia. Por exemplo, uma XamlMember classe derivada pode sobrepor-se LookupTargetType para influenciar o que a propriedade TargetType definida pela base retorna numa classe derivada. Pode prever valores de retorno para tais propriedades em XamlMember ou em classes derivadas existentes lendo a documentação dos métodos relevantes Lookup* .

O objetivo dos Lookup* métodos é fornecer uma técnica de extensão de sistema de tipos XAML que incorpore a XamlMember classe base. Ao derivar e XamlMember sobrepor os Lookup membros virtuais, pode-se definir o conceito de membro XAML para um esquema XAML num sistema de tipos XAML sem estar ligado às especificidades de um sistema ou tecnologia de tipos de suporte. Também podes usar um contexto de esquema XAML fornecido neste esquema e ainda assim devolver os resultados que queres.

Como exemplo, considere a XamlMember propriedade IsWritePublic. Esta propriedade informa os utilizadores que operações como a XamlWriter para serialização podem escrever um valor para este membro num objeto alvo. Na implementação padrão, a determinação de se o membro é gravável é feita através do uso de técnicas de reflexão contra o CLR Type de suporte e os seus membros (os MemberInfo). Portanto, por defeito, o sistema de tipos XAML depende do sistema de tipos CLR. No entanto, pode remover esta dependência para o seu relatório de sistema de tipo XAML de IsWritePublic sobrepor a API LookupIsWritePublic. No seu override, pode usar outras determinações, como metadados específicos da sua tecnologia, uma tabela de consulta primária otimizada para um vocabulário XAML fixo, ou uma variedade de outras estratégias para determinar se um membro XAML é escritível no seu vocabulário XAML.

Construção do XamlMember sem contexto de esquema XAML

A maioria dos construtores de XamlMember requer um XamlSchemaContext como parte da sua inicialização. É XamlSchemaContext também necessário para muitas operações internas XamlSchemaContext , como obter informação que está a ser encaminhada a partir do tipo de backing. Quando trabalha com a XamlMember API, normalmente tem um XamlSchemaContext que está disponível a partir de uma construção envolvente, como um XamlWriter. Neste caso, pode passar a XamlSchemaContext referência para todas as chamadas de sistema do tipo XAML que requerem um contexto de esquema XAML.

Um construtor específico, XamlMember(String, XamlType, Boolean), não requer um XamlSchemaContext. No entanto, um XamlMember que é construído com a XamlMember(String, XamlType, Boolean) assinatura retorna true para IsUnknown.

Para um caminho de carga que envolve XamlObjectWriter, tal membro não pode ser escrito num grafo objeto. Usando a implementação dos serviços XAML do .NET Framework, a chamada XamlObjectWriter.WriteStartMember lança um XamlObjectWriterException quando o relevante XamlMember reporta true para IsUnknown.

Não deve construir um XamlMember que tenha um valor de true para IsUnknown a menos que a sua implementação consiga lidar com as exceções de XamlObjectWriter, ou tenha outras formas de ajustar o XamlObjectWriter comportamento. Por exemplo, uma ou mais das seguintes condições podem ser verdadeiras para a sua implementação:

  • O contexto do esquema XAML está disponível mais tarde.
  • Utiliza-se um padrão de invocador de membros.
  • Deliberadamente XamlObjectWriter.WriteStartMember sobrepões um escritor XAML personalizado.

Construtores

Name Description
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializa uma nova instância da XamlMember classe usando o sistema EventInfo de tipos CLR e um XamlSchemaContext, incluindo XamlMemberInvoker informação.

XamlMember(EventInfo, XamlSchemaContext)

Inicializa uma nova instância da XamlMember classe usando o sistema EventInfo de tipos CLR e um XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializa uma nova instância da XamlMember classe usando reflexão PropertyInfo e um XamlSchemaContext, incluindo XamlMemberInvoker informação.

XamlMember(PropertyInfo, XamlSchemaContext)

Inicializa uma nova instância da XamlMember classe usando o sistema PropertyInfo de tipos CLR e um XamlSchemaContext.

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

Inicializa uma nova instância da XamlMember classe para a XamlMember que representa uma propriedade anexável, incluindo XamlMemberInvoker informação.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Inicializa uma nova instância da XamlMember classe para um XamlMember que representa uma propriedade anexável.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializa uma nova instância da XamlMember classe para um XamlMember que representa um evento anexável, incluindo XamlMemberInvoker informação.

XamlMember(String, MethodInfo, XamlSchemaContext)

Inicializa uma nova instância da XamlMember classe para um XamlMember que representa um evento anexável.

XamlMember(String, XamlType, Boolean)

Inicializa uma nova instância da XamlMember classe usando um nome de string e declarando XamlType informação. A XamlMember que é construído com esta assinatura tem limitações significativas.

Propriedades

Name Description
DeclaringType

Obtém-se para XamlType o tipo que declara o membro associado a este XamlMember.

DeferringLoader

Obtém um XamlValueConverter<TConverterBase> objeto, que é usado para carregamento diferido de objetos declarados em XAML.

DependsOn

Recebe uma lista de XamlMember objetos. Estes reportam os membros onde existem relações de dependência para a ordem de inicialização relativamente a esta XamlMember.

Invoker

Obtém a XamlMemberInvoker implementação associada a este XamlMember.

IsAmbient

Obtém um valor que indica se isto XamlMember é reportado como uma propriedade ambiente.

IsAttachable

Obtém um valor que indica se este XamlMember é um membro anexável.

IsDirective

Recebe um valor que indica se isto XamlMember é uma diretiva XAML.

IsEvent

Obtém um valor que indica se este XamlMember representa um membro do evento.

IsNameValid

Obtém um valor que indica se isto XamlMember está inicializado com uma cadeia válida xamlName como seu Name.

IsReadOnly

Obtém um valor que indica se este XamlMember representa um membro apenas de leitura.

IsReadPublic

Recebe um valor que indica se este XamlMember representa um membro com um acessório público get chamável.

IsUnknown

Obtém um valor que indica se o membro não é resolvível pelo sistema de suporte usado para resolução de tipos e membros.

IsWriteOnly

Obtém um valor que indica se este XamlMember representa um membro apenas de escrita.

IsWritePublic

Obtém um valor que indica se este XamlMember representa um membro que tem um acessório público set chamável.

MarkupExtensionBracketCharacters

Define os caracteres de abertura e encerramento dos colchetes para uma extensão de marcação.

Name

Obtém a xamlName cadeia de nomes que declara este XamlMember.

PreferredXamlNamespace

Obtém o único URI de espaço de nomes XAML que identifica o espaço principal de nomes XAML para este XamlMember.

SerializationVisibility

Recebe um DesignerSerializationVisibility valor, que indica como um designer visual deve processar o membro.

TargetType

Obtém o XamlType do tipo onde o XamlMember pode existir.

Type

Recebe o XamlType do tipo usado pelo membro.

TypeConverter

Obtém um XamlValueConverter<TConverterBase> objeto, que pode ser usado para a construção de conversão de tipos de objetos declarados em XAML.

UnderlyingMember

Obtém o sistema MemberInfo de tipos CLR disponível para um membro construído por PropertyInfo, MethodInfo, ou EventInfo.

ValueSerializer

Obtém um XamlValueConverter<TConverterBase> objeto, que é usado para serialização de valores de objetos declarados em XAML.

Métodos

Name Description
Equals(Object)

Indica se o objeto atual é igual a outro objeto.

Equals(XamlMember)

Indica se o objeto atual é igual a outro objeto do mesmo tipo.

GetHashCode()

Devolve o código de hash deste objeto.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetXamlNamespaces()

Devolve uma lista de namespaces XAML onde este membro XAML pode existir.

LookupCustomAttributeProvider()

Quando implementado numa classe derivada, devolve uma ICustomAttributeProvider implementação.

LookupDeferringLoader()

Devolve um XamlValueConverter<TConverterBase> objeto, que é usado para carregamento diferido de objetos declarados em XAML.

LookupDependsOn()

Devolve uma lista de XamlMember objetos. Os itens da lista reportam os membros onde existem relações de dependência para a ordem de inicialização relativamente a esta XamlMember.

LookupInvoker()

Devolve um XamlMemberInvoker que está associado a este XamlMember.

LookupIsAmbient()

Devolve se isto XamlMember é reportado como uma propriedade ambiente.

LookupIsEvent()

Devolve se isto XamlMember representa um evento.

LookupIsReadOnly()

Devolve se isto XamlMember representa uma propriedade pretendida de apenas leitura.

LookupIsReadPublic()

Devolve se isto XamlMember representa uma propriedade que tem um acessório público get .

LookupIsUnknown()

Devolve se isto XamlMember representa um membro que não é resolvível pelo sistema de suporte usado para resolução de tipos e membros.

LookupIsWriteOnly()

Devoluções, quer isto XamlMember represente um membro que tenha um acessório público set mas não um acessório público get .

LookupIsWritePublic()

Devolve se isto XamlMember representa um membro que tem um acessório público set .

LookupMarkupExtensionBracketCharacters()

Devolve os caracteres de abertura e encerramento dos colchetes para uma extensão de marcação.

LookupTargetType()

Devolve o XamlType do tipo onde o XamlMember pode existir.

LookupType()

Devolve o XamlType do tipo que é usado pelo membro.

LookupTypeConverter()

Devolve uma implementação de conversor de tipos associada a este XamlMember.

LookupUnderlyingGetter()

Devolve um get acessório associado a este XamlMember.

LookupUnderlyingMember()

Devolve um sistema MemberInfo do tipo CLR associado a este XamlMember.

LookupUnderlyingSetter()

Devolve um set acessório associado a este XamlMember.

LookupValueSerializer()

Devolve uma implementação de serializador de valores associada a esta XamlMember.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma representação de cadeia desta XamlMember.

Operadores

Name Description
Equality(XamlMember, XamlMember)

Determina se dois objetos especificados XamlMember têm o mesmo valor.

Inequality(XamlMember, XamlMember)

Determina se dois objetos especificados XamlMember têm valores diferentes.

Aplica-se a

Ver também