Partilhar via


Não declarará membros virtual em tipos lacrados

TypeName

DoNotDeclareVirtualMembersInSealedTypes

CheckId

CA1048

Category (Categoria)

Microsoft.Design

Quebrando alterar

Quebrando

Causa

Um tipo público é sealed e declara um método que é tanto virtual (Overridable no Visual Basic) e não final. Esta regra não relata violações para tipos delegado, que devem seguir esse padrão.

Descrição da regra

Tipos de declarar métodos sistema autônomo 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 em um tipo selado sem sentido.

Os compiladores do Visual Basic .NET e translation from VPE for Csharp não permitir que tipos de violam essa regra.

Como corrigir violações

Para corrigir uma violação dessa regra, que o método não virtual ou faça o tipo herdáveis.

Quando suprimir avisos

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

Exemplo

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

using namespace System;

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