Не удается автоматически определить тип (типы) данных для параметра (параметров) типа метода <имяМетода> на основе этих аргументов, поскольку их невозможно привести к одному типу
Обновлен: Ноябрь 2007
Сообщение об ошибке
Не удается автоматически определить тип (типы) данных для параметра (параметров) типа метода <имя метода> на основе этих аргументов, поскольку их невозможно привести к тому же типу. Явное указание типа (типов) данных может исправить эту ошибку.
Data type(s) of the type parameter(s) in method '<methodname>' 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 Module1
Sub Main()
'' Not valid. Integer and Date do not convert to the same type.
'targetMethod(19, #3/4/2007#)
End Sub
Sub targetMethod(Of T)(ByVal p1 As T, ByVal p2 As T)
End Sub
End Module
Идентификатор ошибки: BC36660 и BC36657
Для исправления этой ошибки выполните следующие действия:
При возможности преобразуйте один или несколько аргументов к совместимому типу, как показано в следующем коде:
targetMethod(19, #3/4/2007#.ToOADate)
При возможности попробуйте указать тип данных для параметра или параметров типа, к которому преобразуются аргументы, как показано в следующем коде:
targetMethod(Of String)(19, #3/4/2007#)
См. также
Основные понятия
Универсальные процедуры в Visual Basic
Явные и неявные преобразования