Aracılığıyla paylaş


CA1053: Statik tutucu türlerinde oluşturucular bulunmamalıdır

TürAdı

StaticHolderTypesShouldNotHaveConstructors

CheckId

CA1053

Kategori

Microsoft.Design

Bozan Değişiklik

Bozan

Sebep

Ortak veya iç içe geçmiş ortak bir tür yalnızca statik üyeleri bildirir ve ortak veya korumalı varsayılan bir constructor/kurucusu vardır.

Kural Tanımı

Statik üyeleri çağırma bir tür örneği gerektirmediğinden kurucu gereksizdir.Ayrıca türün statik olmayan üye bulundurmaması nedeniyle, bir örneğini oluşturma türün herhangi bir üyelesine erişim sağlamaz.

İhlallerin Düzeltilmesi

Bu kuralın bir ihlalini düzeltmek için, varsayılan kurucuyu kaldırın veya özel/private yapın.

[!NOT]

Eğer tür her hangi bir kurucu tanımlamıyorsa, bazı derleyiciler ortak/public varsayılan bir kurucu yaratırlar.Eğer türünüz ile ilgili durum buysa, ihlali ortadan kaldırmak için özel/private varsayılan bir kurucu ekleyin.

Uyarılar Ne Zaman Bastırılmalı

Bu kuraldan bir uyarı gizlemeyin.Kurucu varlığını türün statik türde olmadığını gösterir.

Örnek

Aşağıdaki örnekte, bu kuralı ihlal eden bir tür gösteriliyor.Kaynak kodunda varsayılan kurucu olmadığına dikkat edin.Bu kod bir assembly/derlemenin içine derlendiğinde, C# derleyicisi bu kuralı ihlal edecek bir varsayılan kurucu ekler.Bu sorunu gidermek için bir private/özel kurucu bildirin.

using System;

namespace DesignLibrary
{
   public class NoInstancesNeeded
   {
      // Violates rule: StaticHolderTypesShouldNotHaveConstructors. 
      // Uncomment the following line to correct the violation. 
      // private NoInstancesNeeded() {} 

      public static void Method1() {}
      public static void Method2() {}
   }
}