Partilhar via


CA1048: Não é declarar membros virtuais em tipos sealed

TypeName

DoNotDeclareVirtualMembersInSealedTypes

CheckId

CA1048

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Quebrando

Causa

Um tipo público está lacrado e declara um método que tanto virtual (Overridable em Visual Basic) e final. Esta regra não relatar violações de tipos delegate, que devem seguir esse padrão.

Descrição da regra

Tipos de declarar métodos como virtual para que tipos de herança pode substituir a implementação do método virtual. Por definição, você não pode herdar de um tipo selado, tornando um método virtual do tipo sealed sem sentido.

O Visual Basic.NET e C# de compiladores não permitem tipos violar a essa regra.

Como corrigir violações

Para corrigir uma violação desta regra, que o método não virtual ou fazer com que o tipo herdáveis.

Quando suprimir avisos

Não suprimir um aviso da regra. Deixar o tipo em seu estado atual pode causar problemas de manutenção e não oferece nenhum benefício.

Exemplo

O exemplo a seguir mostra um tipo que viole essa regra.

using namespace System;

namespace DesignLibrary
{                        
    public ref class SomeType sealed
    {
    public:
        virtual bool VirtualFunction() { return true; }
    };
}