CA1059: Los miembros no deben exponer determinados tipos concretos
Nombre de tipo |
MembersShouldNotExposeCertainConcreteTypes |
Identificador de comprobación |
CA1059 |
Categoría |
Microsoft.Design |
Cambio problemático |
Sí |
Causa
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:
- Tipo derivado de System.Xml.XmlNode.
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 |
Reemplazo |
---|---|
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.