CA2207: Değer türü statik alanları satır içi başlatın

Özellik Değer
Kural Kimliği CA2207
Başlık Değer türü statik alanları satır içi başlatın
Kategori Kullanım
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
.NET 8'de varsayılan olarak etkin Hayır

Neden

Değer türü açık bir statik oluşturucu bildirir.

Kural açıklaması

Bir değer türü bildirildiğinde, tüm değer türü alanlarının sıfır ve tüm başvuru türü alanlarının (Nothing Visual Basic'te) olarak ayarlandığı null varsayılan bir başlatmadan geçer. Açık statik oluşturucunun yalnızca bir örnek oluşturucusu veya türün statik üyesi çağrılmadan önce çalıştırılması garanti edilir. Bu nedenle, tür bir örnek oluşturucu çağrılmadan oluşturulursa, statik oluşturucunun çalışması garanti değildir.

Tüm statik veriler satır içinde başlatılırsa ve açık statik oluşturucu bildirilmemişse, C# ve Visual Basic derleyicileri bayrağını beforefieldinit CIL sınıf tanımına ekler. Derleyiciler ayrıca statik başlatma kodunu içeren özel bir statik oluşturucu da ekler. Bu özel statik oluşturucunun, türündeki statik alanlara erişilmeden önce çalışması garanti edilir.

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için, bildirildiğinde tüm statik verileri başlatın ve statik oluşturucuyu kaldırın.

Uyarıların ne zaman bastırılması gerekiyor?

Bu kuraldan uyarıyı bastırmayın.

CA1810: Başvuru türü statik alanları satır içi başlatın