Partager via


Règles de portabilité et d’interopérabilité

Les règles de portabilité prennent en charge la portabilité sur différentes plateformes. Les règles d’interopérabilité prennent en charge l’interaction avec les clients COM.

Contenu de cette section

Règle Description
CA1401 : Les P/Invoke ne doivent pas être visibles Une méthode publique ou protégée dans un type public a l’attribut System.Runtime.InteropServices.DllImportAttribute (également implémenté par le mot clé Declare en Visual Basic). De telles méthodes ne doivent pas être exposées.
CA1416 : Valider la compatibilité de la plateforme L’utilisation d’API dépendantes de la plateforme sur un composant fait que le code ne fonctionne plus sur toutes les plateformes.
CA1417 : n’utilisez pas OutAttribute sur les paramètres de chaîne pour les P/Invoke Les paramètres de chaînes transmis en valeur avec OutAttribute risquent de déstabiliser le runtime s’il s’agit de chaînes centralisées.
CA1418 : utilisez une chaîne de plateforme valide L’analyseur de compatibilité de plateforme nécessite un nom et une version de plateforme valides.
CA1419 : Fournissez un constructeur sans paramètre aussi visible que le type conteneur pour les types concrets dérivés de « System.Runtime.InteropServices.SafeHandle » Fournir un constructeur sans paramètre qui est aussi visible que le type conteneur pour un type dérivé de System.Runtime.InteropServices.SafeHandle permet de meilleures performances et utilisation avec les solutions d’interopérabilité générées par la source.
CA1420 : La propriété, le type ou l’attribut nécessite un marshaling au moment de l’exécution L’utilisation de fonctionnalités qui nécessitent le marshaling du runtime lorsque le marshaling du runtime est désactivé entraîne des exceptions d’exécution.
CA1421 : La méthode utilise le marshaling du runtime lorsque DisableRuntimeMarshallingAttribute est appliqué Une méthode utilise le marshaling du runtime, et le marshaling du runtime est explicitement désactivé.
CA1422 : Valider la compatibilité de la plateforme L’appel d’une API obsolète dans un système d’exploitation (version) donné à partir d’un site d’appel accessible sur ce système d’exploitation (version) n’est pas recommandé.