Aracılığıyla paylaş


CA1026: Varsayılan parametreler kullanılmamalıdır

TürAdı

DefaultParametersShouldNotBeUsed

CheckId

CA1026

Kategori

Microsoft.Design

Bozan Değişiklik

Bozan

Sebep

Dışarıdan görünen tür varsayılan parametre kullanan dışarıdan görünen bir yöntem içerir.

Kural Tanımı

Varsayılan parametreleri kullanma yöntemlere Common Language Specification (cls) altında izin verilir; ancak, CLS bu parametreler için atanmış değerleri göz ardı eden derleyicilere izin verir.Varsayılan parametre değerlerinı göz ardı eden derleyiciler için yazılmış kod açıkça her varsayılan parametre için bağımsız değişkenlerinin sağlanmasını gerektirir.Programlama dilleri arasında istediğiniz davranışı korumak için varsayılan parametreleri kullanma yöntemleri varsayılan parametrelerini sağlayan yöntemi aşırı değiştirilmelidir.

Derleyiciler, yönetilen kod eriştiğinde, C++ için Yönetilmiş Uzantıların varsayılan parametrelerin değerlerini yoksayar.Bir İsteğe Bağlı (Visual Basic) anahtar sözcüğü kullanan varsayılan parametrelere sahip olan yöntemleri Visual Basic derleyicisi destekler.

İhlallerin Düzeltilmesi

Bu kuralı ihlalini düzeltmek için, varsayılan parametreleri sağlayan aşırı yükleme ile varsayılan parametreleri kullanılan yöntemi değiştirin.

Uyarılar Ne Zaman Bastırılmalı

Bu kuraldan bir uyarı gizlemeyin.

Örnek

Aşağıdaki örnek, varsayılan parametreleri kullanan bir yöntemi ve eşdeğer bir işlevselliği sağlayan aşırı yüklenmiş yöntemleri gösterir.

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

İlgili Kurallar

CA1025: Tekrarlanan bağımsız değişkenleri params dizisi ile değiştirin

Ayrıca bkz.

Kavramlar

Dil Bağımsızlığı ve Dilden Bağımsız Bileşenler