CA1000: Nelze deklarovat statické členy na obecné typy
Název_typu |
DoNotDeclareStaticMembersOnGenericTypes |
CheckId |
CA1000 |
Kategorie |
Microsoft.design |
Změnit rozdělení |
Rozdělení |
Příčina
Externě viditelné obecný typ obsahuje static (Shared v jazyce Visual Basic) člen.
Popis pravidla
Když static se nazývá člena obecného typu, musí být určen typ argumentu pro typ.Při volání obecný instanci člena, který nepodporuje Odvození argumentu typ musí určit pro člena.Syntaxe určující typ argumentu v obou případech je jiný a snadno zaměnitelný, jak ukazují následující volání:
' Shared method in a generic type.
GenericType(Of Integer).SharedMethod()
' Generic instance method that does not support inference.
someObject.GenericMethod(Of Integer)()
// Static method in a generic type.
GenericType<int>.StaticMethod();
// Generic instance method that does not support inference.
someObject.GenericMethod<int>();
Obecně oba předchozí prohlášení je nutno, takže není nutné zadat, kdy se nazývá člen argument typu.Výsledkem syntaxi pro volání členů v obecné prvky, které se liší syntaxe obecné typy.Další informace naleznete v tématu CA1004: Obecné metody by měl poskytnout parametr typu.
Jak opravit porušení
Oprava porušení tohoto pravidla, statický člen odebrat nebo změnit na instanci člena.
Při potlačení upozornění
Nepotlačovat upozornění od tohoto pravidla.Poskytování generics v syntaxi, která je snadné pochopení a použití snižuje dobu požadované informace a zvyšuje rychlost přijímání nových knihoven.
Souvisejících pravidel
CA1005: Vyhnout se nadměrnému parametry na obecné typy
CA1010: Kolekce by mělo provádět obecné rozhraní
CA1002: Obecný seznamech neuvádějí.
CA1006: Nelze vnořit obecné typy v podpisech členské
CA1004: Obecné metody by měl poskytnout parametr typu
CA1003: Použít událost obecný popisovač instance
CA1007: Pomocí generics, případně