CA1058: 型は、一定の基本型を拡張することはできません

TypeName

TypesShouldNotExtendCertainBaseTypes

CheckId

CA1058

カテゴリ

Microsoft.Design

互換性に影響する変更点

あり

原因

外部から参照可能な型では、特定の基本型が拡張されます。 現在、この規則では次の型から派生した型が報告されます。

規則の説明

.NET Framework Version 1 では、ApplicationException から新しい例外を派生することが推奨されていました。 この推奨事項は変更されました。新しい例外は、System.Exception または System 名前空間のサブクラスの 1 つから派生する必要があります。

基となるオブジェクト モデルまたはデータ ソースの XML ビューを作成する場合、XmlDocument のサブクラスを作成しないでください。

非ジェネリック コレクション

可能な限りジェネリック コレクションを使用または拡張するようにします。 以前に提供済みである場合を除き、コード内で非ジェネリック コレクションを拡張しないでください。

間違った使用例

public class MyCollection : CollectionBase
{
}
 
public class MyReadOnlyCollection : ReadOnlyCollectionBase
{
}

正しい使用例

public class MyCollection : Collection<T>
{
}
 
public class MyReadOnlyCollection : ReadOnlyCollection<T>
{
}

違反の修正方法

この規則違反を修正するには、別の基本型またはジェネリック コレクションから型を派生します。

警告を抑制する状況

ApplicationException に関する違反については、この規則による警告を抑制しないでください。 XmlDocument に関する違反については、この規則による警告を抑制しても安全です。 以前にコードをリリース済みである場合は、非ジェネリック コレクションに関する警告を抑制しても安全です。