Partilhar via


CA1048: não declarar membros virtuais em tipos lacrados

TypeName

DoNotDeclareVirtualMembersInSealedTypes

CheckId

CA1048

Categoria

Microsoft.Design

Alteração Significativa

Quebra

Causa

Um tipo utilitário for selado e declara um método que é virtual (Overridable no Visual Basic) e não final.Esta regra não informa violações para os tipos de delegação, que devem seguir o padrão.

Descrição da Regra

Os tipos métodos declaram como virtual herdar tipos de forma que possa 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 em um tipo selado sem sentido.

Os compiladores do Visual Basic.NET e C#. não permitem que os tipos violem esta regra.

Como Corrigir Violações

Para corrigir uma violação desta regra, faça o método não virtual ou fazer o tipo herdável.

Quando Suprimir Alertas

Não elimine um alerta desta regra.Deixar o tipo em seu estado atual pode causar problemas de manutenção e não fornece nenhum benefícios.

Exemplo

O exemplo a seguir mostra um tipo que viola esta regra.

using namespace System;

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