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


Метод расширения <имяМетода>, определенный в <имяМодуля>, не является базовым (или не имеет свободных параметров типа) и поэтому не может иметь аргументы типа

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

Extension method '<methodname>' defined in '<modulename>' is not generic (or has no free type parameters) and so cannot have type arguments

В вызове метода расширения был указан тип аргумента, который не имеет универсальных параметров, либо не имеет универсальных параметров, тип для которых еще не указан. Например, следующий код вызывает эту ошибку.

' The extension method is not generic.
<Extension()> _
Sub Example(ByVal str As String)
    ' Body of the Sub.
End Sub
Dim str = "hi"
'' The call to Example specifies a type argument.
'' Not valid.
'str.Example(Of String)()

Идентификатор ошибки: BC36907

Исправление данной ошибки

  • Добавьте параметр-тип к определению метода расширения.

  • Удалите дополнительный аргумент типа из вызова процедуры.

См. также

Основные понятия

Методы расширения (Visual Basic)

Универсальные процедуры в Visual Basic