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.

CA1017 : Marquer les assemblys avec ComVisibleAttribute

Voir aussi