다음을 통해 공유


'ParamArray'는 확장 메서드의 첫 번째 매개 변수에 적용할 수 없습니다.

업데이트: 2007년 11월

오류 메시지

'ParamArray'는 확장 메서드의 첫 번째 매개 변수에 적용할 수 없습니다. 첫 번째 매개 변수는 확장할 형식을 지정합니다.
'ParamArray' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend.

확장 메서드의 첫 번째 매개 변수는 메서드가 확장하는 데이터 형식을 지정합니다. 그러므로 첫 번째 매개 변수는 필수적 요소이며 선택적 요소일 수 없습니다. 매개 변수 배열은 자동적으로 선택적 요소이므로 확장 메서드의 첫 번째 인수만큼 유효하지 않습니다.

참고:

메서드가 실행되는 경우 메서드를 호출하는 확장 데이터 형식의 인스턴스가 메서드의 첫 번째 매개 변수에 대한 인수가 됩니다. 예를 들어 greeting.Print()의 greeting 인스턴스는 확장 메서드 Public Sub Print (ByVal str As String)에서 첫 번째 매개 변수 str에 대한 인수입니다.

오류 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
    

참고 항목

개념

확장 메서드(Visual Basic)

매개 변수 배열

선택적 매개 변수