Partilhar via


CA2256: Todos os membros declarados em interfaces pai devem ter uma implementação em uma interface com o atributo DynamicInterfaceCastableImplementation.

Propriedade valor
ID da regra CA2256
Título Todos os membros declarados em interfaces pai devem ter uma implementação em uma interface com o atributo DynamicInterfaceCastableImplementation.
Categoria Utilização
A correção causa interrupção ou não Ininterrupto
Habilitado por padrão no .NET 10 Como aviso
Línguas aplicáveis C# e Visual Basic

Motivo

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

Descrição da regra

Os tipos atribuídos atuam como DynamicInterfaceCastableImplementationAttribute uma implementação de interface para um tipo que implementa o tipo IDynamicInterfaceCastable. 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 em falta.

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