Freigeben über


CA2256: Alle in übergeordneten Interfaces deklarierten Member müssen in einem Interface mit dem Attribut „DynamicInterfaceCastableImplementation“ implementiert sein.

Eigenschaft Wert
Regel-ID CA2256
Titel Alle in übergeordneten Schnittstellen deklarierten Member müssen in einer Schnittstelle mit dem Attribut „DynamicInterfaceCastableImplementation“ implementiert sein.
Kategorie Verwendung
Fix führt zu Unterbrechungen oder bleibt funktionsfähig Untrennbar
Standardmäßig in .NET 10 aktiviert Als Warnung
Anwendbare Sprachen C# und Visual Basic

Ursache

Eine Schnittstelle mit DynamicInterfaceCastableImplementationAttribute verfügt über ein nicht implementiertes Mitglied.

Regelbeschreibung

Typen, denen das Attribut DynamicInterfaceCastableImplementationAttribute zugeordnet wird, fungieren als Schnittstellenimplementierung für einen Typ, der den IDynamicInterfaceCastable-Typ implementiert. Daher muss er eine Implementierung aller in den geerbten Schnittstellen definierten Member bereitstellen, weil der Typ, der IDynamicInterfaceCastable implementiert, sie andernfalls nicht bereitstellt.

So beheben Sie Verstöße

Implementieren Sie die fehlenden Schnittstellenmember.

Example

interface IParent
{
    void ParentMethod();
}

// This interface violates the rule.
[DynamicInterfaceCastableImplementation]
interface IBadChild : IParent
{
    static void ChildMethod()
    {
        // ...
    }
}

// This interface satisfies the rule.
[DynamicInterfaceCastableImplementation]
interface IGoodChild : IParent
{
    static void ChildMethod()
    {
        // ...
    }

    void IParent.ParentMethod()
    {
        // ...
    }
}

Wann Fehler unterdrücken

Unterdrücken Sie keine Warnung dieser Regel.

Siehe auch