Partilhar via


CA2257: Membros definidos em uma interface com o 'DynamicInterfaceCastableImplementationAttribute' devem ser 'estáticos'

Propriedade valor
ID da regra CA2257
Título Membros definidos em uma interface com o 'DynamicInterfaceCastableImplementationAttribute' devem ser 'estáticos'
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

Um membro da interface não é explicitamente implementado ou marcado static.

Descrição da regra

Como um tipo que implementa IDynamicInterfaceCastable pode não implementar uma interface dinâmica nos metadados, chamadas a um membro da interface de instância que não seja uma implementação explícita definida neste tipo provavelmente falham em tempo de execução. Para evitar erros em tempo de execução, assinale os novos membros da interface static.

Como corrigir violações

Marque o membro staticda interface .

Example

[DynamicInterfaceCastableImplementation]
interface IExample
{
    // This method violates the rule.
    void BadMethod();

    // This method satisfies the rule.
    static void GoodMethod()
    {
        // ...
    }
}

Quando suprimir erros

Não suprima um aviso desta regra.

Consulte também