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; }
};
}