مشاركة عبر


ca1047: بتعريف الأعضاء محمية في أنواع مختوم

TypeName

DoNotDeclareProtectedMembersInSealedTypes

CheckId

ca1047

Category

Microsoft.تصميم

تعطيل تغيير

غير فاصلة

السبب

نوع عام هو sealed(NotInheritableفي Visual أساسى) و يقوم بتعريف عضو محمية أو محمية النوع المتداخل. هذه قاعدة لا يعلم انتهاكات ل Finalizeوظائف، الذي يجب أن يتبع هذا النقش.

وصف القاعدة

أنواع التصريح عضو s محمي بحيث ترث أنواع يمكن الوصول إليه أو يمنع عضو. بالتعريف، لا يورث من نوع متصفح المدونة، يعني أنه محمي وظائف تشغيل أنواع مختوم لا يمكن استدعاء.

المحول البرمجي C# صدور تحذير عن هذا الخطأ.

كيف إلى الإصلاح انتهاكات

لإصلاح انتهاكا لهذه قاعدة، تغيير المستوى وصول الأعضاء إلى خاص، أو تكوين نوع القابلة للتوريث.

عند إلى منع التحذيرات

لا بمنع تحذير من هذه قاعدة. ترك النوع بحالته الحالي يمكن أن تؤدي إلى حدوث مشكلات الصيانة و لا تقدم أية مزايا.

مثال

يظهر المثال التالي هو نوع من انتهاك هذه قاعدة.

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(){}
   }
}