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