ca1012: لا ينبغي أنواع مجردة المنشئات
TypeName |
AbstractTypesShouldNotHaveConstructors |
CheckId |
ca1012 |
Category |
Microsoft.تصميم |
تعطيل تغيير |
غير فاصلة |
السبب
نوعا عاماً هو مجردة ويحتوي على الدالة الإنشائية عام.
وصف القاعدة
يمكن استدعاء المنشئات تشغيل أنواع المجردة فقط بواسطة الأنواع المشتقة. لأن المنشئات العامة إنشاء مثيلات لنوع، و إمكانية إنشاء مثيلات لنوع مجردة، مصمم على نوع مجردة مع على الدالة الإنشائية عام غير صحيح.
كيف إلى الإصلاح انتهاكات
لتصحيح انتهاكا لهذه قاعدة، أما جعل الدالة الإنشائية محمية أو عدم القيام بالتصريح نوع قيمة مجردة.
عند إلى منع التحذيرات
لا بمنع تحذير من هذه قاعدة. النوع abstract له على الدالة الإنشائية عام.
مثال
يلي مثال يحتوي على نوع مجردة يخالف هذه قاعدة.
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()
{
}
}
}
يعمل المثال التالي على إصلاح انتهاك سابق بواسطة تغيير التشغيل المنشئ من publicإلى protected.
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()
{
}
}
}