Sdílet prostřednictvím


CA2207: Inicializujte vloženou hodnotu statických polí

Název_typu

InitializeValueTypeStaticFieldsInline

CheckId

CA2207

Kategorie

Microsoft.Usage

Změnit rozdělení

Bez rozdělení

Příčina

Typ hodnoty prohlašuje explicitní statický konstruktor.

Popis pravidla

Když je deklarován typ hodnoty, kterými projde výchozí inicializace, kde všechna pole Typ hodnoty jsou nastaveny na nulu a všechna pole v typu odkazu jsou nastavena na null (Nothing v jazyce Visual Basic).Explicitní statický konstruktor pouze zaručena spustit před konstruktoru instance nebo statický člen typu se nazývá.Proto pokud typ bez volání konstruktoru instance statický konstruktor není zaručena spustit.

Pokud všechny statické data vložené inicializována a je deklarován žádný explicitní statický konstruktor, přidat kompilátorů C# a Visual Basic beforefieldinit příznak MSIL definice třídy.Kompilátory přidat také soukromé statický konstruktor obsahuje kód statických inicializací.Tento soukromý statický konstruktor je zaručena spustit dříve, než jsou přístupné všechny statické pole typu.

Jak opravit porušení

Oprava porušení tohoto pravidla inicializovat všechny statická data je deklarována, a odebrat statický konstruktor.

Při potlačení upozornění

Nepotlačovat upozornění od tohoto pravidla.

Souvisejících pravidel

CA1810: Inicializujte odkazový typ statického pole vloženě