Condividi tramite


CA2256: Tutti i membri dichiarati nelle interfacce padre devono avere un'implementazione in un'interfaccia con l'attributo DynamicInterfaceCastableImplementation

Proprietà valore
ID regola CA2256
Title Tutti i membri dichiarati nell'interfaccia padre devono avere un'implementazione in un'interfaccia con l'attributo DynamicInterfaceCastableImplementation
Categoria Utilizzo
La correzione causa un'interruzione o meno Non rompente
Abilitato per impostazione predefinita in .NET 10 A titolo di avvertimento
Linguaggi applicabili C# e Visual Basic

Causa

Un'interfaccia con DynamicInterfaceCastableImplementationAttribute ha un membro non implementato.

Descrizione regola

Tipi attribuiti con DynamicInterfaceCastableImplementationAttribute fungono da implementazione dell'interfaccia per un tipo che implementa il tipo IDynamicInterfaceCastable. 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 sopprimere un avviso da questa regola.

Vedi anche