'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