CA2256: Všichni členové deklarovaní v nadřazených rozhraních musí mít implementaci v rozhraní s atributem DynamicInterfaceCastableImplementation

Vlastnost Hodnota
ID pravidla CA2256
Název Všechny členy deklarovaní v nadřazených rozhraních musí mít implementaci v rozhraní s atributem DynamicInterfaceCastableImplementation.
Kategorie Využití
Oprava, která může být destruktivní nebo nedestruktivní Nezlomitelný
Povoleno ve výchozím nastavení v .NET 10 Jako upozornění
Příslušné jazyky C# a Visual Basic

Příčina

Rozhraní s DynamicInterfaceCastableImplementationAttribute má neimplementovaného člena.

Popis pravidla

Typy s atributem DynamicInterfaceCastableImplementationAttribute fungují jako implementace rozhraní pro typ implementující IDynamicInterfaceCastable. V důsledku toho musí poskytnout implementaci všech členů definovaných ve zděděných rozhraních, protože typ, který implementuje IDynamicInterfaceCastable, by je jinak neposkytl.

Jak opravit porušení

Implementujte chybějící členy rozhraní.

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()
    {
        // ...
    }
}

Kdy potlačit chyby

Nepotlačujte upozornění na toto pravidlo.

Viz také