Los miembros no deben exponer determinados tipos concretos

Actualización: noviembre 2007

     TypeName

MembersShouldNotExposeCertainConcreteTypes

Identificador de comprobación

CA1059

Category

Microsoft.Design

Cambio problemático

Motivo

Un miembro visible externamente es de un tipo concreto o expone determinados tipos concretos a través de uno de sus parámetros o valores devueltos. Actualmente, esta regla informa sobre la exposición de los tipos concretos siguientes:

Descripción de la regla

Un tipo concreto es un tipo que tiene una implementación completa y, por consiguiente, se pueden crear instancias de él. Para permitir un uso extendido del miembro, reemplace el tipo concreto por la interfaz sugerida. Esto permite que el miembro acepte cualquier tipo que implemente la interfaz o que se utilice en aquellos puntos donde se espere un tipo que implementa la interfaz.

La tabla siguiente muestra los tipos concretos específicos y sus reemplazos sugeridos.

Tipo concreto

Replacement

XmlNodeO bienXPathDocument

System.Xml.XPath.IXPathNavigable.

Al utilizar la interfaz, se desacopla el miembro de una implementación específica de un origen de datos XML.

Cómo corregir infracciones

Para corregir una infracción de esta regla, cambie el tipo concreto por la interfaz sugerida.

Cuándo suprimir advertencias

Es seguro suprimir un mensaje de esta regla si se necesita la funcionalidad concreta prestada por el tipo concreto.

Reglas relacionadas

Considere pasar los tipos base como parámetros