Partilhar via


CA2256: Todos os membros declarados em interfaces pai devem ter uma implementação em uma interface atribuída a DynamicInterfaceCastableImplementation.

Property valor
ID da regra CA2256
Título Todos os membros declarados em interfaces pai devem ter uma implementação em uma interface atribuída a DynamicInterfaceCastableImplementation;
Categoria Utilização
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 10 Como aviso

Motivo

Uma interface com DynamicInterfaceCastableImplementationAttribute tem um membro não implementado.

Descrição da regra

Os tipos atribuídos atuam DynamicInterfaceCastableImplementationAttribute como uma implementação de interface para um tipo que implementa o IDynamicInterfaceCastable tipo. Como resultado, ele deve fornecer uma implementação de todos os membros definidos nas interfaces herdadas, porque o tipo que implementa IDynamicInterfaceCastable não irá fornecê-los de outra forma.

Como corrigir violações

Implemente os membros da interface ausentes.

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 suprimir erros

Não suprima um aviso desta regra.

Consulte também