Sdílet prostřednictvím


CA1058: Typy by neměly rozšířit určité základní typy

TypeName

TypesShouldNotExtendCertainBaseTypes

CheckId

CA1058

Kategorie

Microsoft.Design

Narušující změna

Narušující

Příčina

Externě viditelný typ rozšiřuje určité základní typy.V současné době toto pravidlo označí typy, které jsou odvozeny z následujících typů:

Popis pravidla

Ve verzi 1 rozhraní .NET Framework bylo doporučeno odvozovat nové výjimky z třídy ApplicationException.Toto doporučení se změnilo a nové výjimky by měly být odvozeny z třídy Exception nebo jedné z jejích podtříd v oboru názvů System.

Není vhodné vytvářet podtřídu třídy XmlDocument pro vytvoření XML pohledu na přidružený objektový model nebo zdroj dat.

Neobecné kolekce

Používejte nebo rozšiřujte obecné kolekce, kdykoli je to možné.Nerozšiřujte neobecné kolekce ve svém kódu, pokud jste jej již nedodávali dříve.

Příklady nesprávného použití

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

Příklady správného použití

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

Jak vyřešit porušení

Odvození z jiného základního typu nebo obecné kolekce vyřeší porušení tohoto pravidla.

Kdy potlačit upozornění

Nepotlačujte upozornění na porušení tohoto pravidla týkající se třídy ApplicationException.Je bezpečné potlačit upozornění na porušení tohoto pravidla týkající se třídy XmlDocument.Je také bezpečné potlačit varování týkající se neobecné kolekci, pokud byl kód již dříve dodaný.