次の方法で共有


メンバは特定の具象型を公開できません

更新 : 2007 年 11 月

TypeName

MembersShouldNotExposeCertainConcreteTypes

CheckId

CA1059

カテゴリ

Microsoft.Design

互換性に影響する変更点

あり

原因

外部から参照可能なメンバは特定の具象型であるか、パラメータの 1 つまたは戻り値を使用して特定の具象型を公開します。現在、この規則によって次の具象型の脆弱性が報告されています。

規則の説明

具象型は、完全な実装を含む型であるため、インスタンス化できます。このメンバを広範囲に使用するには、具象型を推奨インターフェイスと置き換えます。これにより、メンバはそのインターフェイスを実装する任意の型を受け入れられるようになったり、そのインターフェイスを実装する型が求められる場所で使用できるようになったりします。

次の表に、対象となる具象型およびそれと置き換えることが推奨されるインターフェイスを示します。

具象型

Replacement

XmlNode または XPathDocument

System.Xml.XPath.IXPathNavigable.

このインターフェイスを使用することで、XML データ ソースの特定の実装からメンバを切り離します。

違反の修正方法

この規則違反を修正するには、具象型を推奨インターフェイスに変更します。

警告を抑制する状況

具象型によって実現されている特定の機能が必要な場合は、この規則によるメッセージを抑制しても安全です。

関連規則

基本型をパラメータで渡すことをお勧めします