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