A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2207 below:

CA2207: Initialize value type static fields inline (code analysis) - .NET

Property Value Rule ID CA2207 Title Initialize value type static fields inline Category Usage Fix is breaking or non-breaking Non-breaking Enabled by default in .NET 9 No Cause

A value-type declares an explicit static constructor.

Rule description

When a value-type is declared, it undergoes a default initialization where all value-type fields are set to zero and all reference-type fields are set to null (Nothing in Visual Basic). An explicit static constructor is only guaranteed to run before an instance constructor or static member of the type is called. Therefore, if the type is created without calling an instance constructor, the static constructor is not guaranteed to run.

If all static data is initialized inline and no explicit static constructor is declared, the C# and Visual Basic compilers add the beforefieldinit flag to the CIL class definition. The compilers also add a private static constructor that contains the static initialization code. This private static constructor is guaranteed to run before any static fields of the type are accessed.

How to fix violations

To fix a violation of this rule initialize all static data when it is declared and remove the static constructor.

When to suppress warnings

Do not suppress a warning from this rule.

CA1810: Initialize reference type static fields inline


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4