'ParamArray' bir uzantı yönteminin ilk parametresine uygulanamaz

'ParamArray' bir uzantı yönteminin ilk parametresine uygulanamaz. İlk parametre hangi türün genişletebileceğinizi belirtir.

Uzantı yönteminin ilk parametresi, yöntemin genişletir veri türünü belirtir. Bu nedenle, ilk parametre gereklidir ve isteğe bağlı olamaz. Parametre dizisi otomatik olarak isteğe bağlı olduğundan, uzantı yönteminin ilk bağımsız değişkeni olarak geçerli değildir.

Not

Yöntemi yürütürken, yöntemini çağıran genişletilmiş veri türünün örneği, yöntemin ilk parametresi için bağımsız değişken olur. Örneğin, içindeki greeting.Print() örneğigreeting, uzantı yöntemindeki Public Sub Print (ByVal str As String)ilk parametresinin strbağımsız değişkenidir.

Hata Kimliği: BC36554

Bu hatayı düzeltmek için

  • Parametre dizisi genişletmek istediğiniz veri türünü belirtmiyorsa, bu türü belirten yeni bir ilk parametre ekleyin.

    <Extension()>
    Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String)
    ' Concatenate the strings in addOns to str.
    End Sub
    
  • Parametre dizisi genişletmek istediğiniz veri türünü belirtiyorsa, bunu parametre dizisi yerine bağımsız değişken gerektiren normal bir dizi olarak değiştirmeyi göz önünde bulundurun. Normal diziler genişletilebilir.

    <Extension()>
    Public Function Sum(ByVal ints() As Integer) As Integer
        Dim total As Integer = 0
        For Each i As Integer In ints
            total = total + i
        Next i
        Return total
    End Function
    

Ayrıca bkz.