CA1059: Os membros não devem expor a determinados 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 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:

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 para 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

XPathDocument

System.Xml.XPath.IXPathNavigable.

Usando a interface dissocia o membro de uma implementação específica de uma fonte 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 mensagem de que essa regra se a funcionalidade específica fornecida pelo tipo concreto é necessária.

Regras relacionadas

CA1011: Considere passando tipos base como parâmetros