CA2256: Alle leden die in ouderinterfaces zijn gedeclareerd, moeten een implementatie hebben in een interface met het attribuut DynamicInterfaceCastableImplementation.

Eigenschap Waarde
Regel-id CA2256
Titel Alle leden die in bovenliggende interfaces zijn gedeclareerd, moeten een implementatie hebben in een DynamicInterfaceCastableImplementation-toegeschreven interface
Categorie Gebruik
Fix kan brekend of niet-brekend zijn Niet-brekend
Standaard ingeschakeld in .NET 10 Als waarschuwing
Toepasselijke talen C# en Visual Basic

Oorzaak

Een interface met DynamicInterfaceCastableImplementationAttribute heeft een niet-geïmplementeerd lid.

Beschrijving van regel

Typen die worden toegeschreven aan DynamicInterfaceCastableImplementationAttribute fungeren als een interface-implementatie voor een type dat het IDynamicInterfaceCastable type implementeert. Als gevolg hiervan moet het een implementatie bieden van alle leden die zijn gedefinieerd in de overgenomen interfaces, omdat het type dat wordt geïmplementeerd IDynamicInterfaceCastable , ze anders niet levert.

Hoe schendingen op te lossen

Implementeer de ontbrekende interfaceleden.

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

Wanneer fouten onderdrukken

Een waarschuwing van deze regel niet onderdrukken.

Zie ook