“ParamArray”无法应用于扩展方法的第一个参数

“ParamArray”无法应用于扩展方法的第一个参数。 第一个参数指定要扩展哪个类型。

扩展方法的第一个参数指定该方法扩展的数据类型。 因此,第一个参数是必需的,而不能是可选的。 因为形参数组是自动可选的,所以不能作为扩展方法的第一个实参。

注意

执行方法时,调用方法的扩展数据类型的实例成为方法的第一个形参的实参。 例如, greeting 中的实例 greeting.Print() 是扩展方法 str中第一个形参 Public Sub Print (ByVal str As String)的实参。

错误 ID: BC36554

更正此错误

  • 如果形参数组未指定要扩展的数据类型,请添加新的第一个形参以指定此类型。

    <Extension()>
    Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String)
    ' Concatenate the strings in addOns to str.
    End Sub
    
  • 如果形参数组指定了要扩展的数据类型,请考虑将其更改为需要实参的常规数组,而不要使用形参数组。 常规数组可以进行扩展。

    <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
    

另请参阅