Idioma
Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O .NET Framework inclui um conjunto de tipos de reflexão e membros para utilização nas aplicações da Windows 8.x Store. Estes tipos e membros estão disponíveis no .NET Framework completo e nas aplicações .NET para a Windows Store. Este artigo explica as principais diferenças entre estes e os seus equivalentes no .NET Framework 4 e versões anteriores.
Se estiver a criar uma aplicação da Windows 8.x Store, deve usar os tipos e membros de reflexão no .NET para as aplicações da Windows 8.x Store. 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 de Assembly
Nas aplicações .NET para 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 que você manipule Type objetos sem necessariamente exigir que o tempo de execução carregue o assembly ao qual eles se referem. Obter o objeto TypeInfo associado obriga o conjunto a ser carregado.
TypeInfo contém muitos dos membros disponíveis em Type, e muitas das propriedades de reflexão do .NET para aplicações da Loja do Windows 8.x devolvem coleções de objetos TypeInfo. Para obter um TypeInfo objeto de um Type objeto, use o GetTypeInfo método.
Métodos de consulta
Nas aplicações .NET da Loja do Windows 8.x, utiliza as propriedades de reflexão que devolvem coleções IEnumerable<T> em vez de métodos que devolvem matrizes. Contextos de reflexão podem implementar um percurso preguiçoso dessas coleções para grandes assemblages ou tipos.
As propriedades de reflexão retornam apenas os métodos declarados em um objeto específico em vez de percorrer 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 o resultado de typeof(Object)), percorrer a árvore de herança é melhor conseguido 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 atravessar a árvore de herança por si próprios.
Restrições
Em um aplicativo da Windows Store 8.x, o acesso a alguns tipos e membros do .NET Framework é restrito. Por exemplo, não pode chamar métodos do .NET Framework que não estão incluídos em aplicações da .NET para a Windows 8.x Store, usando um MethodInfo objeto. Além disso, certos tipos e membros que não são considerados seguros no contexto de uma aplicação da Loja do Windows 8.x são bloqueados, tal como os membros Marshal e WindowsRuntimeMarshal. Essa restrição afeta apenas tipos e membros do .NET Framework; Você pode chamar seu código ou código de terceiros como faria normalmente.