XamlMember Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 |
| 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 |
| 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 |
| MarkupExtensionBracketCharacters |
Define os caracteres de abertura e encerramento dos colchetes para uma extensão de marcação. |
| Name |
Obtém a |
| 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 |
| 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 |
| LookupIsWritePublic() |
Devolve se isto XamlMember representa um membro que tem um acessório público |
| 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 |
| LookupUnderlyingMember() |
Devolve um sistema MemberInfo do tipo CLR associado a este XamlMember. |
| LookupUnderlyingSetter() |
Devolve um |
| 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. |