Типы данных параметров-типов в методе расширения ''<имя_метода>'', определенном в "typename", не могут быть определены из этих аргументов, так как они не могут быть приведены к одному типу
Обновлен: Ноябрь 2007
Сообщение об ошибке
Типы данных параметров-типов в методе расширения "<имя_метода>", определенном в "typename", не могут быть определены из этих аргументов, так как они не могут быть приведены к одному типу. Явное указание типов данных может исправить эту ошибку.
Data type(s) of the type parameter(s) in extension method '<methodname>' defined in 'typename' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.
Предпринята попытка использования определения типов для определения типа (или типов) данных параметра (или параметров) типа во время определения вызова для создания метода расширения. Компилятору не удалось найти тип данных, соответствующий ограничениям, налагаемым всеми аргументами. Поэтому появилось сообщение об ошибке.
Примечание. |
---|
Когда аргументы являются обязательными (например, в операторах выражений запросов), это сообщение об ошибке отображается без второго предложения. |
Данная ошибка показана в следующем коде:
Option Strict Off
Module Module3
Sub Main()
Dim c1 As New Class1
'' Not valid. Integer and Date do not convert to the same type.
'c1.targetMethod(19, #3/4/2007#)
End Sub
<System.Runtime.CompilerServices.Extension()> _
Sub targetMethod(Of T)(ByVal p0 As Class1, ByVal p1 As T, ByVal p2 As T)
End Sub
Class Class1
End Class
End Module
Идентификатор ошибки: BC36661 и BC36658
Исправление этой ошибки
Попробуйте явно преобразовать один или несколько аргументов в совместимый тип, как показано в следующем коде:
c1.targetMethod(19, #3/4/2007#.ToOADate)
Попробуйте указать тип данных для параметра или параметров типа, в который преобразуются аргументы, как показано в следующем коде:
c1.targetMethod(Of String)(19, #3/4/2007#)
См. также
Основные понятия
Методы расширения (Visual Basic)
Ослабленное преобразование делегата
Универсальные процедуры в Visual Basic
Явные и неявные преобразования