Idioma
Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O .NET Framework inclui um conjunto de tipos e membros de reflexão para uso em aplicativos da Loja do Windows 8.x. Esses tipos e membros estão disponíveis no .NET Framework completo e em .NET para aplicativos da Windows Store. Este artigo explica as principais diferenças entre eles e seus equivalentes no .NET Framework 4 e versões anteriores.
Se você estiver criando um aplicativo da Loja do Windows 8.x, deverá usar os tipos e membros de reflexão do .NET para aplicativos da Loja do Windows 8.x. Esses tipos e membros também estão disponíveis, mas não são necessários, para uso em aplicativos da área de trabalho, para que você possa usar o mesmo código para ambos os tipos de aplicativos.
TypeInfo e Carregamento do Assembly
Em .NET para aplicativos da Windows 8.x Store, a TypeInfo classe contém algumas das funcionalidades da classe .NET Framework 4Type. Um Type objeto representa uma referência a uma definição de tipo, enquanto um TypeInfo objeto representa a própria definição de tipo. Isso permite manipular Type objetos sem necessariamente exigir que o runtime carregue o assembly que eles referenciam. Obter o objeto TypeInfo associado força o assembly a ser carregado.
TypeInfo contém muitos dos membros disponíveis em Type, e muitas das propriedades de reflexão no .NET para aplicativos da Windows 8.x Store retornam coleções de objetos TypeInfo. Para obter um TypeInfo objeto de um Type objeto, use o GetTypeInfo método.
Métodos de consulta
Nos aplicativos da Loja do Windows 8.x do .NET, você usa as propriedades de reflexão que retornam IEnumerable<T> coleções em vez de métodos que retornam matrizes. Os contextos de reflexão podem implementar passagens lentas dessas coleções para grandes tipos ou assemblies.
As propriedades de reflexão retornam apenas os métodos declarados em um objeto específico em vez de atravessar a árvore de herança. Além disso, eles não usam BindingFlags parâmetros para filtragem. Em vez disso, a filtragem ocorre no código do usuário usando consultas LINQ nas coleções retornadas. Para objetos de reflexão que se originam com o runtime (por exemplo, como resultado de typeof(Object)), a passagem pela árvore de herança é melhor realizada usando os métodos auxiliares da classe RuntimeReflectionExtensions. Os consumidores de objetos de contextos de reflexão personalizados não podem usar esses métodos e devem percorrer a árvore de herança sozinhos.
Restrições
Em um aplicativo da Windows 8.x Store, o acesso a alguns tipos e membros do .NET Framework é restrito. Por exemplo, você não pode chamar métodos .NET Framework que não estão incluídos em .NET para aplicativos da Loja Windows 8.x usando um MethodInfo objeto. Além disso, determinados tipos e membros que não são considerados seguros no contexto de um aplicativo da Windows 8.x Store são bloqueados, bem como os membros Marshal e WindowsRuntimeMarshal. Essa restrição afeta apenas os tipos e membros do .NET Framework; você pode chamar seu código ou código de terceiros como faria normalmente.