XamlMember Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece o identificador do sistema de tipo XAML para membros de tipos XAML. O identificador é usado por leitores XAML e gravadores XAML durante o processamento de nós membros (quando o leitor XAML é posicionado em um StartMember) e também para 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
Comentários
XamlMember pode usar três metodologias para retornar informações sobre um membro XAML: reflexão clr (common language runtime) padrão; uma técnica de reflexão somente referência chamando APIs internas que usam sinalizadores de bit otimizados; ou chamando em substituições virtuais da Lookup* API fornecida por possíveis XamlMember subclasses. Para a maioria dos usos das APIs de Serviços XAML do .NET Framework e da XamlMember API, use o contexto de esquema XAML padrão. O contexto de esquema XAML padrão para os Serviços XAML do .NET Framework usa o suporte CLR para o sistema de tipos. Isso permite que os leitores XAML e os gravadores XAML trabalhem com qualquer tipo ou membro definido ou disponível para o CLR e suas técnicas de reflexão.
ApIs lookup* e classes derivadas de XamlMember
XamlMember define vários membros virtuais que as classes derivadas podem substituir. Esses membros têm nomes que sempre começam com a cadeia de caracteres Lookup. O restante do nome da API faz referência à propriedade que o método virtual influencia. Por exemplo, uma XamlMember classe derivada pode substituir LookupTargetType para influenciar o que a propriedade TargetType definida por base retorna em uma classe derivada. Você pode prever valores retornados para essas propriedades ou XamlMember classes derivadas existentes lendo a documentação dos métodos relevantes Lookup* .
A finalidade dos Lookup* métodos é fornecer uma técnica de extensão do sistema de tipo XAML que incorpora a XamlMember classe base. Ao derivar e XamlMember substituir os Lookup membros virtuais, você pode definir o conceito de um membro XAML para um esquema XAML em um sistema de tipo XAML sem estar vinculado às especificidades de um sistema de tipo de backup ou tecnologia. Você também pode usar um contexto de esquema XAML fornecido nesse esquema e ainda retornar os resultados desejados.
Como exemplo, considere a XamlMember propriedade IsWritePublic. Essa propriedade informa aos chamadores que operações como o uso de uma XamlWriter serialização podem gravar um valor para esse membro em um objeto de destino. Na implementação padrão, a determinação de se o membro é gravável é feita usando técnicas de reflexão contra o CLR Type de suporte e seus membros (o MemberInfo). Portanto, por padrão, o sistema de tipo XAML depende do sistema de tipos CLR. No entanto, você pode remover essa dependência para o relatório do sistema de IsWritePublic tipo XAML substituindo a API LookupIsWritePublic. Em sua substituição, você pode usar outras determinações, como metadados específicos à sua tecnologia, uma tabela de pesquisa primária otimizada para um vocabulário XAML fixo ou uma variedade de outras estratégias para determinar se um membro XAML é gravável em seu vocabulário XAML.
Construção de XamlMember sem contexto de esquema XAML
A maioria dos construtores de XamlMember requer uma XamlSchemaContext como parte de sua inicialização. Também XamlSchemaContext é necessário para muitas operações internas XamlSchemaContext , como a obtenção de informações que estão sendo encaminhadas do tipo de backup. Quando você está trabalhando com a XamlMember API, normalmente você tem um XamlSchemaContext que está disponível em um constructo ao redor, como um XamlWriter. Nesse caso, você pode passar a XamlSchemaContext referência para todas as chamadas do sistema de tipo XAML que exigem um contexto de esquema XAML.
Um construtor XamlMember(String, XamlType, Boolean)específico, 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 envolva XamlObjectWriter, esse membro não pode ser gravado em um grafo de objeto. Usando a implementação de serviços XAML do .NET Framework, a XamlObjectWriter.WriteStartMember chamada lança um XamlObjectWriterException quando os relatórios true relevantes XamlMember para IsUnknown.
Você não deve construir um XamlMember valor que tenha um valor true para IsUnknown o qual, a menos que sua implementação possa lidar com as exceções ou você tenha outras XamlObjectWritermaneiras de ajustar o XamlObjectWriter comportamento. Por exemplo, um ou mais dos seguintes itens podem ser verdadeiros para sua implementação:
- O contexto do esquema XAML estará disponível posteriormente.
- Você usa um padrão de invocador de membro.
- Você substitui deliberadamente XamlObjectWriter.WriteStartMember em um gravador XAML personalizado.
Construtores
| Nome | Description |
|---|---|
| XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker) |
Inicializa uma nova instância da classe usando o XamlMember sistema EventInfo de tipos CLR e uma XamlSchemaContext, incluindo XamlMemberInvoker informações. |
| XamlMember(EventInfo, XamlSchemaContext) |
Inicializa uma nova instância da classe usando o XamlMember 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 uma XamlSchemaContext, incluindo XamlMemberInvoker informações. |
| XamlMember(PropertyInfo, XamlSchemaContext) |
Inicializa uma nova instância da classe usando o XamlMember sistema PropertyInfo de tipos CLR e um XamlSchemaContext. |
| XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker) |
Inicializa uma nova instância da XamlMember classe para uma XamlMember que representa uma propriedade anexável, incluindo XamlMemberInvoker informações. |
| XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext) |
Inicializa uma nova instância da XamlMember classe para uma XamlMember que representa uma propriedade anexável. |
| XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker) |
Inicializa uma nova instância da XamlMember classe para uma XamlMember que representa um evento anexável, incluindo XamlMemberInvoker informações. |
| XamlMember(String, MethodInfo, XamlSchemaContext) |
Inicializa uma nova instância da XamlMember classe para uma XamlMember que representa um evento anexável. |
| XamlMember(String, XamlType, Boolean) |
Inicializa uma nova instância da XamlMember classe usando um nome de cadeia de caracteres e declarando XamlType informações. Um XamlMember que é construído com essa assinatura tem limitações significativas. |
Propriedades
| Nome | Description |
|---|---|
| DeclaringType |
Obtém o XamlType tipo que declara o membro associado a ele XamlMember. |
| DeferringLoader |
Obtém um XamlValueConverter<TConverterBase> objeto, que é usado para o carregamento adiado de objetos declarados XAML. |
| DependsOn |
Obtém uma lista de XamlMember objetos. Eles relatam os membros em que as relações de dependência para a ordem de inicialização existem em relação a isso XamlMember. |
| Invoker |
Obtém a XamlMemberInvoker implementação associada a isso XamlMember. |
| IsAmbient |
Obtém um valor que indica se isso XamlMember é relatado como uma propriedade ambiente. |
| IsAttachable |
Obtém um valor que indica se esse XamlMember é um membro anexável. |
| IsDirective |
Obtém um valor que indica se essa XamlMember é uma diretiva XAML. |
| IsEvent |
Obtém um valor que indica se isso XamlMember representa um membro do evento. |
| IsNameValid |
Obtém um valor que indica se isso XamlMember é inicializado com uma cadeia de caracteres válida |
| IsReadOnly |
Obtém um valor que indica se isso XamlMember representa um membro somente leitura. |
| IsReadPublic |
Obtém um valor que indica se isso XamlMember representa um membro com um acessador público |
| IsUnknown |
Obtém um valor que indica se o membro não é resolvível pelo sistema de backup usado para resolução de tipo e membro. |
| IsWriteOnly |
Obtém um valor que indica se isso XamlMember representa um membro somente gravação. |
| IsWritePublic |
Obtém um valor que indica se isso XamlMember representa um membro que tem um acessador público |
| MarkupExtensionBracketCharacters |
Define os caracteres de colchete de abertura e fechamento para uma extensão de marcação. |
| Name |
Obtém a cadeia |
| PreferredXamlNamespace |
Obtém o URI do namespace XAML único que identifica o namespace XAML primário para isso XamlMember. |
| SerializationVisibility |
Obtém um DesignerSerializationVisibility valor, que indica como um designer visual deve processar o membro. |
| TargetType |
Obtém o XamlType tipo em que o XamlMember pode existir. |
| Type |
Obtém o XamlType tipo usado pelo membro. |
| TypeConverter |
Obtém um XamlValueConverter<TConverterBase> objeto, que pode ser usado para a construção de conversão de tipo de objetos declarados XAML. |
| UnderlyingMember |
Obtém o sistema MemberInfo de tipo CLR que está disponível para um membro que é construído por PropertyInfo, MethodInfoou EventInfo. |
| ValueSerializer |
Obtém um XamlValueConverter<TConverterBase> objeto, que é usado para serialização de valor de objetos declarados XAML. |
Métodos
| Nome | 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() |
Retorna o código hash deste objeto. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetXamlNamespaces() |
Retorna uma lista de namespaces XAML em que esse membro XAML pode existir. |
| LookupCustomAttributeProvider() |
Quando implementado em uma classe derivada, retorna uma implementação ICustomAttributeProvider . |
| LookupDeferringLoader() |
Retorna um XamlValueConverter<TConverterBase> objeto, que é usado para o carregamento adiado de objetos declarados XAML. |
| LookupDependsOn() |
Retorna uma lista de XamlMember objetos. Os itens na lista relatam os membros em que as relações de dependência para a ordem de inicialização existem em relação a isso XamlMember. |
| LookupInvoker() |
Retorna um XamlMemberInvoker que está associado a isso XamlMember. |
| LookupIsAmbient() |
Retorna se isso XamlMember é relatado como uma propriedade ambiente. |
| LookupIsEvent() |
Retorna se isso XamlMember representa um evento. |
| LookupIsReadOnly() |
Retorna se isso XamlMember representa uma propriedade somente leitura pretendida. |
| LookupIsReadPublic() |
Retorna se isso XamlMember representa uma propriedade que tem um acessador público |
| LookupIsUnknown() |
Retorna se isso XamlMember representa um membro que não é resolvível pelo sistema de backup usado para resolução de tipo e membro. |
| LookupIsWriteOnly() |
Retorna se isso XamlMember representa um membro que tem um acessador público |
| LookupIsWritePublic() |
Retorna se isso XamlMember representa um membro que tem um acessador público |
| LookupMarkupExtensionBracketCharacters() |
Retorna os caracteres de colchete de abertura e fechamento para uma extensão de marcação. |
| LookupTargetType() |
Retorna o XamlType tipo em que o XamlMember pode existir. |
| LookupType() |
Retorna o XamlType tipo usado pelo membro. |
| LookupTypeConverter() |
Retorna uma implementação de conversor de tipo associada a isso XamlMember. |
| LookupUnderlyingGetter() |
Retorna um |
| LookupUnderlyingMember() |
Retorna um sistema MemberInfo de tipo CLR associado a esse XamlMember. |
| LookupUnderlyingSetter() |
Retorna um |
| LookupValueSerializer() |
Retorna uma implementação de serializador de valor associada a isso XamlMember. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres deste XamlMember. |
Operadores
| Nome | 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. |