Compartilhar via


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:

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

XPathDocument

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.

Regras relacionadas

CA1011: Considere passando tipos base como parâmetros