Sdílet prostřednictvím


CA2256: Všichni členové deklarovaní v nadřazených rozhraních musí mít implementaci v dynamicInterfaceCastableImplementation-attributed rozhraní

Vlastnost Hodnota
ID pravidla CA2256
Název Všechny členy deklarované v nadřazených rozhraních musí mít implementaci v DynamicInterfaceCastableImplementation-attributed rozhraní
Kategorie Využití
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení v .NET 10 Jako upozornění

Příčina

Rozhraní s DynamicInterfaceCastableImplementationAttribute neimplementovaným členem.

Popis pravidla

Typy atributy, které DynamicInterfaceCastableImplementationAttribute fungují jako implementace rozhraní pro typ, který implementuje IDynamicInterfaceCastable typ. V důsledku toho musí poskytnout implementaci všech členů definovaných v zděděných rozhraních, protože typ, který implementuje IDynamicInterfaceCastable , je jinak nezadá.

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é