CA1411 : Les méthodes d'inscription COM ne doivent pas être visibles
Élément | Valeur |
---|---|
ID de la règle | CA1411 |
Category | Microsoft.Interoperability |
Modification avec rupture | Rupture |
Cause
Méthode marquée avec l’attribut System.Runtime.InteropServices.ComRegisterFunctionAttribute ou System.Runtime.InteropServices.ComUnregisterFunctionAttribute visible en externe.
Description de la règle
Lorsqu’un assembly est inscrit auprès de Component Object Model (COM), des entrées sont ajoutées au Registre pour chaque type visible par COM dans l’assembly. Les méthodes marquées avec les attributs ComRegisterFunctionAttribute et ComUnregisterFunctionAttribute sont appelées au cours des processus d’inscription et d’annulation de l’inscription, respectivement, pour exécuter du code utilisateur spécifique à l’inscription/à l’annulation de l’inscription de ces types. Ce code ne doit pas être appelé en dehors de ces processus.
Comment corriger les violations
Pour corriger une violation de cette règle, modifiez l’accessibilité de la méthode en private
ou internal
(Friend
en Visual Basic).
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle.
Exemple
L’exemple suivant montre deux méthodes qui violent la règle.
using System;
using System.Runtime.InteropServices;
[assembly: ComVisible(true)]
namespace InteroperabilityLibrary
{
public class ClassToRegister
{
}
public class ComRegistration
{
[ComRegisterFunction]
public static void RegisterFunction(Type typeToRegister) {}
[ComUnregisterFunction]
public static void UnregisterFunction(Type typeToRegister) {}
}
}
Règles associées
CA1410 : Les méthodes d'inscription COM doivent être mises en correspondance
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour