ca1026: يجب إلا يتم استخدام المعلمات الافتراضية

TypeName

DefaultParametersShouldNotBeUsed

CheckId

ca1026

Category

Microsoft.تصميم

تعطيل تغيير

فصل

السبب

يحتوي على نوع مرئي خارجياً طريقة مرئي الخارجية التي يستخدمها الافتراضي المعلمة.

وصف القاعدة

الأساليب التي تستخدم الافتراضي معلمات مسموح بها ضمن مواصفة اللغة العامة (CLS)؛ على الرغم من ذلك، يسمح CLS compilers تجاهل قيم المعينة لهذه المعلمات. تعليمات برمجية المكتوبة من أجل compilers تجاهل الافتراضي قيم المعلمات يجب تقديم بشكل صريح وسيطات لكل الافتراضي المعلمة. للحفاظ على سلوك الذي تريده عبر لغات البرمجة، والوظائف التي تستخدم الافتراضي يجب استبداله معلمات باستخدام أسلوب التحميلات الزائدة التي توفر الافتراضي المعلمات.

المحول البرمجي بتجاهل القيم الافتراضي معلمات "الامتداد التي تتم إدارتها" عن C + + عند الوصول إلى تعليمات برمجية مُدارة. المحول البرمجي Visual أساسى تعتمد وظائف مع الافتراضي معلمات باستخدام اختيارية (Visual Basic)الكلمة أساسى.

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

لإصلاح انتهاكا لهذه قاعدة، قم باستبدال الطريقة التي يستخدمها الافتراضي التحميلات الزائدة معلمات باستخدام أسلوب تغذية تلك الافتراضي معلمات.

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

لا بمنع تحذير من هذه قاعدة.

مثال

يظهر المثال التالي أسلوب الذي يستخدمه الافتراضي المعلمات والأساليب overloaded التي توفر الأداء الوظيفي مكافئ.

Imports System

<Assembly: CLSCompliant(True)>
Namespace DesignLibrary

    Public Class DefaultVersusOverloaded

        Sub DefaultParameters(Optional parameter1 As Integer = 1, _
                              Optional parameter2 As Integer = 5)
            ' ...
            Console.WriteLine("{0} : {1}", parameter1, parameter2)
        End Sub

        Sub OverloadedMethod()
            OverloadedMethod(1, 5)
        End Sub

        Sub OverloadedMethod(parameter1 As Integer)
            OverloadedMethod(parameter1, 5)
        End Sub

        Sub OverloadedMethod(parameter1 As Integer, parameter2 As Integer)
            ' ...
            Console.WriteLine("{0} : {1}", parameter1, parameter2)
        End Sub

    End Class

End Namespace

القواعد ذات الصلة

CA1025: Replace repetitive arguments with params array

راجع أيضًا:

المبادئ

مواصفة اللغة العامة