Langue
Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
.NET Framework inclut un ensemble de types de réflexion et de membres à utiliser dans les applications Windows 8.x Store. Ces types et ces membres sont disponibles dans l’infrastructure de .NET complète et dans .NET pour les applications Windows Store. Cet article explique les principales différences entre celles-ci et leurs équivalents dans .NET Framework 4 et les versions antérieures.
Si vous créez une application du Windows Store 8.x, vous devez utiliser les types et membres de réflexion de .NET pour les applications du Windows Store 8.x. Ces types et ces membres sont également disponibles, mais pas obligatoires, pour une utilisation dans les applications de bureau. Vous pouvez donc utiliser le même code pour les deux types d’applications.
TypeInfo et chargement des assemblys
Dans .NET pour les applications Windows 8.x Store, la TypeInfo classe contient certaines fonctionnalités de la classe .NET Framework 4Type. Un Type objet représente une référence à une définition de type, tandis qu’un TypeInfo objet représente la définition de type elle-même. Cela vous permet de manipuler des Type objets sans nécessairement exiger que le runtime charge l’assembly qu’ils référencent. L'obtention de l'objet TypeInfo associé force le chargement de l'assembly.
TypeInfo contient de nombreux membres disponibles dans Type, et de nombreuses propriétés de réflexion dans .NET pour les applications du Windows Store 8.x renvoient des collections d’objets TypeInfo. Pour obtenir un TypeInfo objet à partir d’un Type objet, utilisez la GetTypeInfo méthode.
Méthodes de requête
Dans .NET pour les applications du Store Windows 8.x, vous utilisez les propriétés de réflexion qui renvoient des collections IEnumerable<T> au lieu des méthodes qui renvoient des tableaux. Les contextes de réflexion peuvent implémenter le parcours différé de ces collections pour de grands assemblys ou types.
Les propriétés de réflexion retournent uniquement les méthodes déclarées sur un objet particulier au lieu de parcourir l’arborescence d’héritage. De plus, ils n’utilisent BindingFlags pas de paramètres pour le filtrage. Au lieu de cela, le filtrage se produit dans le code utilisateur, à l’aide de requêtes LINQ sur les collections retournées. Pour les objets de réflexion qui proviennent du runtime (par exemple, comme le résultat de typeof(Object)), la traversée de l’arborescence d’héritage est mieux réalisée à l’aide des méthodes auxiliaires de la classe RuntimeReflectionExtensions. Les consommateurs d’objets issus de contextes de réflexion personnalisés ne peuvent pas utiliser ces méthodes et doivent parcourir eux-mêmes l’arborescence d’héritage.
Restrictions
Dans une application Windows 8.x Store, l’accès à certains types et membres .NET Framework est restreint. Par exemple, vous ne pouvez pas appeler les méthodes du .NET Framework qui ne sont pas disponibles dans .NET pour les applications du Windows Store 8.x à l’aide d’un objet MethodInfo. De plus, certains types et membres qui ne sont pas considérés comme sûrs dans le contexte d’une application du Windows 8.x Store sont bloqués, de même que les membres Marshal et WindowsRuntimeMarshal. Cette restriction affecte uniquement les types et les membres du .NET Framework ; vous pouvez appeler votre code ou votre code tiers comme vous le feriez normalement.