Dela via


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

Property Värde
Regel-ID CA2256
Title Alla medlemmar som deklareras i överordnade gränssnitt måste ha en implementering i ett DynamicInterfaceCastableImplementation-tillskrivet gränssnitt
Kategori Användning
Korrigeringen är icke-bakåtkompatibel Icke-icke-bryta
Aktiverad som standard i .NET 9 Som varning

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 den typ som implementeras IDynamicInterfaceCastable inte ger dem något annat.

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 fel ska ignoreras

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

Se även