CA1059: Os membros não devem expor certos tipos de concretos
TypeName |
MembersShouldNotExposeCertainConcreteTypes |
CheckId |
CA1059 |
<strong>Categoria</strong> |
Microsoft.design |
Alteração significativa |
Quebrando |
Causa
Um membro visível externamente é um determinado tipo concreto ou expõe a determinados tipos de concretos por meio de um de seus parâmetros ou valor de retorno.Atualmente, essa regra relata a exposição dos seguintes tipos de concretos:
- Um tipo derivado de System.Xml.XmlNode.
Descrição da regra
Um tipo concreto é um tipo que tem uma implementação completa e, portanto, pode ser instanciado.Para permitir o uso difundido do membro, substitua o tipo concreto com a interface sugerida.Isso permite que o membro aceitar qualquer tipo que implementa a interface ou ser usado onde um tipo que implementa a interface é esperado.
A tabela a seguir lista os tipos de concretos-alvo e suas substituições sugeridas.
Tipo concreto |
Substituição |
---|---|
System.Xml.XPath.IXPathNavigable. Usando a interface dissocia o membro de uma implementação específica de uma origem de dados XML. |
Como corrigir violações
Para corrigir uma violação desta regra, altere o tipo concreto à interface sugerida.
Quando suprimir avisos
É seguro suprimir a uma mensagem com essa regra se a funcionalidade específica fornecida pelo tipo concreto for necessária.