CA1047: Korumalı türlerde korunan üyeleri bildirmeyin
TypeName |
DoNotDeclareProtectedMembersInSealedTypes |
CheckId |
CA1047 |
Kategori |
Microsoft.Design |
Değişiklik kesiliyor |
Bölünemez |
Neden
Ortak bir türü olan sealed (NotInheritable Visual Basic) ve korumalı bir üye veya korumalı iç içe türü bildirir.Bu kural ihlalleri için raporda Finalize bu desen izlemeniz gereken yöntemleri.
Kural Tanımı
Türleri devralmasını erişebileceğiniz veya üye geçersiz kılmak için Korumalı Üyeler türleri bildirmek.Tanım gereği, mühürlenmiş türleri yöntemler korunan anlamına gelir adlı korumalı türünden devralamaz.
C# derleyicisi bu hata için bir uyarı verir.
İhlalleri düzeltmek nasıl
Bu kuralı ihlal düzeltmek için özel üye erişim düzeyini değiştirmek veya türü devralınabilen olun.
Uyarıları ne zaman
Uyarı Bu kuraldan bastırmak değil.Belgenin geçerli durumundaki türü bırakarak bakım sorunları neden olabilir ve herhangi bir yarar sağlamaz.
Örnek
Aşağıdaki örnekte, bu kuralı ihlal eden bir türü gösterilir.
Imports System
Namespace DesignLibrary
Public NotInheritable Class BadSealedType
Protected Sub MyMethod
End Sub
End Class
End Namespace
using System;
namespace DesignLibrary
{
public sealed class SealedClass
{
protected void ProtectedMethod(){}
}
}