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ý.