CA1501: Avoid excessive inheritance
TypeName |
AvoidExcessiveInheritance |
CheckId |
ca1501 |
Category |
Microsoft.Maintainability |
تعطيل تغيير |
فصل |
السبب
نوع هو المزيد الرابع مستويات أعمق في هيكلي للوراثة الخاصة به.
وصف القاعدة
يصعب التسلسلات الهرمية لنوع متداخل بشكل عميق إلى تتبع وفهم وصيانتها. تحدد هذه قاعدة التحليل إلى التسلسلات الهرمية ضمن نفس وحدة نمطية?.
كيف إلى الإصلاح انتهاكات
لإصلاح انتهاكا لهذه قاعدة، اشتقاق النوع من نوع أساسي أقل عميقة في هيكلي للوراثة أو قم بإزالة بعض من قاعدة المتوسطة أنواع.
عند إلى منع التحذيرات
هو الأمن لمنع ظهور تحذير من القيم بالموضع هو قاعدة؛ ومع ذلك، قد تكون تعليمات برمجية من الصعب المحافظة على. لاحظ أنه وفقا لرؤية قاعدة أنواع، حل مشكلات خرق هذه قاعدة قد تقوم بإنشاء أحدث التغييرات. على سبيل المثال، إزالة الأنواع الأساسية العامة تغيير الفاصلة.
مثال
يلي مثال يظهر نوع يخالف قاعدة.
Imports System
Namespace MaintainabilityLibrary
Class BaseClass
End Class
Class FirstDerivedClass
Inherits BaseClass
End Class
Class SecondDerivedClass
Inherits FirstDerivedClass
End Class
Class ThirdDerivedClass
Inherits SecondDerivedClass
End Class
Class FourthDerivedClass
Inherits ThirdDerivedClass
End Class
' This class violates the rule.
Class FifthDerivedClass
Inherits FourthDerivedClass
End Class
End Namespace
using System;
namespace MaintainabilityLibrary
{
class BaseClass {}
class FirstDerivedClass : BaseClass {}
class SecondDerivedClass : FirstDerivedClass {}
class ThirdDerivedClass : SecondDerivedClass {}
class FourthDerivedClass : ThirdDerivedClass {}
// This class violates the rule.
class FifthDerivedClass : FourthDerivedClass {}
}