Teilen über


CA2257: Die für eine Schnittstelle mit dem "DynamicInterfaceCastableImplementationAttribute" definierten Member müssen "static" sein

Eigenschaft Wert
Regel-ID CA2257
Titel Die für eine Schnittstelle mit dem „DynamicInterfaceCastableImplementationAttribute“ definierten Member müssen Static sein
Kategorie Verwendung
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig in .NET 10 aktiviert Als Warnung

Ursache

Ein Schnittstellenmember wird nicht explizit implementiert oder als static markiert.

Regelbeschreibung

Da ein Typ, der IDynamicInterfaceCastable implementiert, möglicherweise keine dynamische Schnittstelle in den Metadaten implementieren kann, werden Aufrufe eines Instanzschnittstellenmitglieds, das nicht als explizit für diesen Typ implementiert definiert ist, wahrscheinlich zur Laufzeit fehlschlagen. Um Laufzeitfehler zu vermeiden, markieren Sie neue Schnittstellenmitglieder static.

Behandeln von Verstößen

Markieren Sie den Schnittstellenmember als static.

Example

[DynamicInterfaceCastableImplementation]
interface IExample
{
    // This method violates the rule.
    void BadMethod();

    // This method satisfies the rule.
    static void GoodMethod()
    {
        // ...
    }
}

Fälle für die Unterdrückung von Warnungen

Unterdrücken Sie keine Warnung dieser Regel.

Weitere Informationen