CA1012: Soyut türlerde oluşturucular bulunmamalıdır
TürAdı |
StaticHolderTypesShouldNotHaveConstructors |
CheckId |
CA1012 |
Kategori |
Microsoft.Design |
Bozan Değişiklik |
Bozmayan |
Sebep
Ortak tür soyuttur ve public bir kurucusu vardır.
Kural Tanımı
Soyut türler üzerindeki kurucular yalnızca türetilen türler tarafından çağrılabilir.Ortak yapıcılar tipin bir örneğini yaptığından, ve siz bir soyut tipin örneğini yapamayacağınızdan, soyut sınıf hatalı biçimde dizayn edilmiş ortak yapıcıya sahip olur.
İhlallerin Düzeltilmesi
Bu kuralı ihlal düzeltmek için korumalı yapıcı olun veya soyut olarak türünü bildirmeyin.
Uyarılar Ne Zaman Bastırılmalı
Bu kuraldan bir uyarı gizlemeyin.Soyut tür bir genel oluşturucuya sahiptir.
Örnek
Aşağıdaki örnek, bu kuralı ihlal eden bir soyut türü içerir.
Imports System
Namespace Samples
' Violates this rule
Public MustInherit Class Book
Public Sub New()
End Sub
End Class
End Namespace
using System;
namespace Samples
{
// Violates this rule
public abstract class Book
{
public Book()
{
}
}
}
Aşağıdaki örnek, önceki ihlalini protected 'da public 'dan oluşturucunun erişebilirliğini değiştirerek giderir.
Imports System
Namespace Samples
' Violates this rule
Public MustInherit Class Book
Protected Sub New()
End Sub
End Class
End Namespace
using System;
namespace Samples
{
// Violates this rule
public abstract class Book
{
protected Book()
{
}
}
}