Partager via


CA2257 : les membres définis sur une interface avec « DynamicInterfaceCastableImplementationAttribute » doivent être « static »

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.

Voir aussi