Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
| Propriété | Value |
|---|---|
| Identificateur de la règle | CA2257 |
| Titre | Les membres définis sur une interface avec 'DynamicInterfaceCastableImplementationAttribute' doivent être 'static' |
| Catégorie | Utilisation |
| Le correctif est cassant ou non cassant | Sans rupture |
| Activé par défaut dans .NET 10 | Comme avertissement |
Cause
Un membre d’interface n’est pas explicitement implémenté ou marqué static.
Description de la règle
Étant donné qu’un type qui implémente IDynamicInterfaceCastable peut ne pas implémenter une interface dynamique dans les métadonnées, les appels à un membre d’interface d’instance qui n’est pas une implémentation explicite définie sur ce type sont susceptibles d’échouer pendant l'exécution. Pour éviter les erreurs d’exécution, marquez les nouveaux membres staticde l’interface.
Comment corriger les violations
Marquez le membre de l’interface static.
Example
[DynamicInterfaceCastableImplementation]
interface IExample
{
// This method violates the rule.
void BadMethod();
// This method satisfies the rule.
static void GoodMethod()
{
// ...
}
}
Quand supprimer les erreurs
Ne supprimez aucun avertissement de cette règle.