Dela via


CA2256: Alla medlemmar som deklareras i överordnade gränssnitt måste ha en implementering i ett DynamicInterfaceCastableImplementation-attributgränssnitt

Egenskap Värde
Regel-ID CA2256
Title Alla medlemmar som deklareras i föräldergränssnitt måste ha en implementering i ett DynamicInterfaceCastableImplementation-tillskrivet gränssnitt
Kategori Användning
Korrigeringen är antingen invasiv eller icke-invasiv Oumbrytbar
Aktiverad som standard i .NET 10 Som varning
Tillämpliga språk C# och Visual Basic

Orsak

Ett gränssnitt med DynamicInterfaceCastableImplementationAttribute har en icke-implementerad medlem.

Regelbeskrivning

Typer som tillskrivs DynamicInterfaceCastableImplementationAttribute fungerar som en gränssnittsimplementering för en typ som implementerar IDynamicInterfaceCastable typen. Därför måste den tillhandahålla en implementering av alla medlemmar som definierats i de ärvda gränssnitten, eftersom typen som implementerar IDynamicInterfaceCastable inte ger dem annars.

Så här åtgärdar du överträdelser

Implementera de saknade gränssnittsmedlemmarna.

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

När man ska undertrycka fel

Ignorera inte en varning från den här regeln.

Se även