Compartilhar via


XamlSchemaContext Classe

Definição

Define um contexto reutilizável para interpretar ou mapear tipos XAML e os tipos nos assemblies subjacentes a eles.

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
Herança
XamlSchemaContext

Comentários

Um contexto de esquema XAML fornece uma camada de abstração entre um esquema ou vocabulário para XAML e uma implementação específica do analisador. Ao inserir o conceito de um contexto de esquema, o esquema pode ser usado com diferentes analisadores XAML e o contexto de esquema preenche os detalhes necessários para interagir com um analisador XAML específico. Por exemplo, o contexto de esquema XAML fornece APIs de consulta relacionadas aos conceitos XAML ou à associação CLR ao sistema de tipos XAML. O contexto de esquema XAML também é responsável por manter a lista de assembly de assemblies carregados, que define onde um analisador XAML procura tipos de suporte.

Notas aos Herdeiros

Em um AppDomain, um XamlSchemaContext pode ser compartilhado entre vários chamadores, que incluem chamadores de confiança total e parcial. Essa situação existe em estruturas como o WPF, que fornecem acesso de confiança parcial ao carregamento XAML para partes do modelo de aplicativo WPF. A implementação padrão XamlSchemaContext fornece proteções nesse cenário mantendo todas as suas propriedades e configurações imutáveis. Implementações derivadas também devem considerar seguir esse modelo de imutabilidade para propriedades e configurações de um contexto de esquema XAML.

A XamlSchemaContext classe base foi projetada para que as pesquisas não tenham efeitos colaterais observáveis externamente. Os tipos referenciados por XamlSchemaContext APIs na classe base, como XamlType ou XamlMember, também, não produzem efeitos colaterais de pesquisas. Todos os dados necessários para fazer uma determinação de esquema devem estar disponíveis na construção e nas configurações do AppDomain. Observe que nenhuma APIs de pesquisa depende de serviços transmitidos explicitamente; sua entrada depende apenas da entrada da cadeia de caracteres.

A XamlSchemaContext classe base e XamlType XamlMember todos os threads são seguros em suas implementações base. Se você derivar ou derivar classes do XamlSchemaContext sistema de tipo XAML, como XamlType e XamlMember , você pode escolher se suas classes se comportarão como thread safe.

Construtores

XamlSchemaContext()

Inicializa uma nova instância da classe XamlSchemaContext.

XamlSchemaContext(IEnumerable<Assembly>)

Inicializa uma nova instância da classe XamlSchemaContext, com base em um conjunto de assemblies de referência.

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

Inicializa uma nova instância da classe XamlSchemaContext, com base em um conjunto de assemblies de referência e um objeto de configurações.

XamlSchemaContext(XamlSchemaContextSettings)

Inicializa uma nova instância da classe XamlSchemaContext baseada em um objeto de configurações.

Propriedades

FullyQualifyAssemblyNamesInClrNamespaces

Obtém um valor que especifica se um esquema XAML e seu contexto usam nomes de assembly totalmente qualificados nos valores que são retornados pela API de pesquisa.

ReferenceAssemblies

Obtém um conjunto enumerável de assemblies de referência para o contexto do esquema XAML.

SupportMarkupExtensionsWithDuplicateArity

Obtém um valor que especifica se um esquema XAML e seu contexto dão suporte a extensões de marcação que têm dois construtores com o mesmo arity (número de parâmetros de entrada).

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Fornece uma implantação Finalize não padrão que não invoca Dispose.

GetAllXamlNamespaces()

Pesquisa os assemblies que são mantidos por este XamlSchemaContext e retorna um conjunto de namespaces.

GetAllXamlTypes(String)

Pesquisa os assemblies que são mantidos por este XamlSchemaContext e retorna um conjunto de tipos do namespace XAML especificado.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetPreferredPrefix(String)

Obtém uma cadeia de caracteres que é relatada como o prefixo preferencial para os consumidores usados quando eles mapeiam o namespace de XAML especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValueConverter<TConverterBase>(Type, XamlType)

Retorna um conversor de valor que pode ser convertido para o targetType solicitado.

GetXamlDirective(String, String)

Retorna um valor XamlDirective que representa uma diretiva para a linguagem XAML ou para uma implementação específica.

GetXamlType(String, String, XamlType[])

Retorna um XamlType que se baseia em um namespace XAML e uma cadeia de caracteres para o nome do tipo. Esta assinatura pode especificar os argumentos de tipo para casos em que o tipo desejado é um tipo genérico.

GetXamlType(Type)

Retorna um XamlType que se baseia em um identificador de tipo CLR.

GetXamlType(XamlTypeName)

Retorna um XamlType que se baseia em um nome de tipo de sistema XAML.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnAssemblyResolve(String)

Chamado quando operações usam este contexto de esquema para resolver um assembly que é necessário para resolver os namespaces de XAML que ele contém.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TryGetCompatibleXamlNamespace(String, String)

Retorna o êxito ou falha de uma solicitação para um namespace de XAML compatível. Uma solicitação bem-sucedida reporta o namespace de XAML como um parâmetro de saída.

Aplica-se a