CA1409 : Les types visibles par Com doivent pouvoir être créés
Élément | Valeur |
---|---|
ID de la règle | CA1409 |
Category | Microsoft.Interoperability |
Modification avec rupture | Sans rupture |
Cause
Un type référence spécifiquement marqué comme visible pour COM (Component Object Model) contient un constructeur paramétrisé public mais pas de constructeur public par défaut (sans paramètre).
Description de la règle
Un type sans constructeur public par défaut ne peut pas être créé par les clients COM. Toutefois, le type est toujours accessible aux clients COM s’il existe un autre moyen de créer le type et de le passer au client (par exemple via la valeur de retour d’un appel de méthode).
La règle ignore les types dérivés de System.Delegate.
Par défaut, les éléments suivants sont visibles par COM : les assemblys, les types publics, les membres d’instances publics dans les types publics ainsi que tous les membres des types valeur publics.
Comment corriger les violations
Pour corriger toute violation de cette règle, ajoutez un constructeur public par défaut, ou supprimez System.Runtime.InteropServices.ComVisibleAttribute du type.
Quand supprimer les avertissements
Vous pouvez supprimer sans risque un avertissement lié à cette règle, s’il existe d’autres moyens de créer et de passer l’objet au client COM.
Règles associées
CA1017 : Marquer les assemblys avec ComVisibleAttribute
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