Compartilhar via


CA2257: Os membros definidos em uma interface com 'DynamicInterfaceCastableImplementationAttribute' devem ser 'estáticos'

Property Valor
ID da regra CA2257
Título Os membros definidos em uma interface com "DynamicInterfaceCastableImplementationAttribute" devem ser "estáticos"
Categoria Usage
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 10 Como aviso

Causa

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 em metadados, as chamadas para um membro da interface de instância que não é uma implementação explícita definida nesse tipo provavelmente falharão em runtime. Para evitar erros de runtime, marque novos membros staticda interface.

Como corrigir violações

Marque o membro da interface static.

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 nessa regra.

Confira também