Condividi tramite


CA2256: tutti i membri dichiarati nelle interfacce padre devono avere un'implementazione in un'interfaccia con attributi DynamicInterfaceCastableImplementation

Proprietà valore
ID regola CA2256
Title Tutti i membri dichiarati nelle interfacce padre devono avere un'implementazione in un'interfaccia con attributi DynamicInterfaceCastableImplementation
Categoria Utilizzo
La correzione causa un'interruzione o meno Non causa un'interruzione
Abilitato per impostazione predefinita in .NET 10 Come avviso

Causa

Un'interfaccia con DynamicInterfaceCastableImplementationAttribute ha un membro non implementato.

Descrizione regola

Tipi con attributi che DynamicInterfaceCastableImplementationAttribute fungono da implementazione dell'interfaccia per un tipo che implementa il IDynamicInterfaceCastable tipo . Di conseguenza, deve fornire un'implementazione di tutti i membri definiti nelle interfacce ereditate, perché il tipo che implementa IDynamicInterfaceCastable non li fornirà altrimenti.

Come correggere le violazioni

Implementare i membri dell'interfaccia mancanti.

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

Quando eliminare gli errori

Non escludere un avviso da questa regola.

Vedi anche