Поделиться через


"ParamArray" не может быть применен к первому параметру метода расширения

Обновлен: Ноябрь 2007

Сообщение об ошибке

"ParamArray" не может быть применен к первому параметру метода расширения. Первый параметр задает расширяемый тип.
'ParamArray' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend.

Первый параметр метода расширения указывает тип данных, который расширяется методом. Таким образом, первый параметр необходим и не может быть необязательным. Поскольку массив параметров автоматически не является обязательным, он недопустим в качестве первого аргумента метода расширения.

Bb384466.alert_note(ru-ru,VS.90).gifПримечание.

При выполнении метода экземпляр расширенного типа данных, который вызывает метод, становится аргументом для первого параметра метода. Например, экземпляр greeting в greeting.Print() является аргументом для первого параметра, str, в методе расширения Public Sub Print (ByVal str As String).

Идентификатор ошибки: 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)

Массивы параметров

Необязательные параметры