Os membros não devem expor certos tipos concretos
TypeName |
MembersShouldNotExposeCertainConcreteTypes |
CheckId |
CA1059 |
Category (Categoria) |
Microsoft.Design |
Quebrando alterar |
Quebrando |
Causa
Um membro visível externamente é um determinado tipo concreto ou expõe determinados tipos concretos por meio de um de seus parâmetros ou valor retornado.Atualmente, essa regra relatórios exposição dos seguintes tipos concretos:
- Um tipo derivado de System.Xml.XmlNode.
Descrição da regra
Um tipo concreto é um tipo que possui uma implementação completa e, portanto, pode ser instanciado.Para permitir o uso difundido do membro, substitua o tipo concreto 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 |
---|---|
XmlNode- ou -XPathDocument |
System.Xml.XPath.IXPathNavigable. Usando a interface dissocia o membro a partir de uma implementação específica de uma fonte de dados XML. |
Como corrigir violações
Para corrigir uma violação dessa regra, altere o tipo concreto à interface sugerida.
Quando suprimir avisos
É seguro eliminar uma mensagem a partir desta regra se for necessária a funcionalidade específica fornecida pelo tipo concreto.