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