Члены не должны предоставлять определенные устойчивые типы
Обновлен: Ноябрь 2007
TypeName |
MembersShouldNotExposeCertainConcreteTypes |
CheckId |
CA1059 |
Категория |
Microsoft.Design |
Критическое изменение |
Критическое |
Причина
Внешне видимый член является определенным устойчивым типом и предоставляет определенные устойчивые типы посредством одного из своих параметров или за счет возвращаемого значения. В настоящее время в этом правиле зафиксировано предоставление следующих устойчивых типов.
- Тип, производный от System.Xml.XmlNode.
Описание правила
Устойчивый тип – это тип, который имеет полную реализацию и экземпляр которого можно создать. Чтобы иметь возможность обширного использования этого члена, замените устойчивые типы предложенным интерфейсом. Это позволяет члену принимать любой тип, реализующий интерфейс; член можно использовать там, где ожидается тип, реализующий интерфейс.
В следующей таблице приведен список целевых устойчивых типов и предложенные замены для нех.
Устойчивый тип |
Замещающий |
---|---|
XmlNode-или-XPathDocument |
System.Xml.XPath.IXPathNavigable. Использование интерфейса отделяет член от определеной реализации источника данных XML. |
Устранение нарушений
Чтобы исправить нарушение этого правила, замените устойчивый тип предложенным интерфейсом.
Отключение предупреждений
Сообщение из этого правила можно отключить, если требуются определенные функциональные возможности, предоставляемые устойчивым типом.