CA1048: Não declarar membros virtuais em tipos lacrados
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 não final.Esta regra não relata violações para tipos de representante, 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# compiladores não permitir que tipos de violar a essa regra.
Como corrigir violações
Para corrigir uma violação desta regra, que o método não-virtuais 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; }
};
}