Поделиться через


CA1059: члены не должны предоставлять определенные устойчивые типы

TypeName

MembersShouldNotExposeCertainConcreteTypes

CheckId

CA1059

Категория

Microsoft.Design

Критическое изменение

Критическое изменение

Причина

Внешне видимый член является определенным устойчивым типом и предоставляет определенные устойчивые типы посредством одного из своих параметров или за счет возвращаемого значения. В настоящее время в этом правиле зафиксировано предоставление следующих устойчивых типов.

Описание правила

Устойчивый тип – это тип, который имеет полную реализацию и экземпляр которого можно создать. Чтобы иметь возможность обширного использования этого члена, замените устойчивые типы предложенным интерфейсом. Это позволяет члену принимать любой тип, реализующий интерфейс; член можно использовать там, где ожидается тип, реализующий интерфейс.

В следующей таблице приведен список целевых устойчивых типов и предложенные замены для нех.

Устойчивый тип

Заменяющая

XPathDocument

System.Xml.XPath.IXPathNavigable.

Использование интерфейса отделяет член от определеной реализации источника данных XML.

Устранение нарушений

Чтобы исправить нарушение этого правила, замените устойчивый тип предложенным интерфейсом.

Отключение предупреждений

Сообщение из этого правила можно отключить, если требуются определенные функциональные возможности, предоставляемые устойчивым типом.

Связанные правила

CA1011: попробуйте передать базовые типы в качестве параметров