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


Типы данных параметров-типов не могут быть определены из этих аргументов

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

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

Типы данных параметров-типов не могут быть определены из этих аргументов. Явное указание типов данных может исправить эту ошибку.
Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.

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

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

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

Данная ошибка показана в следующем коде:

Module Module1

    Sub Main()

        '' Not Valid.
        'OverloadedGenericMethod("Hello", "World")

    End Sub

    Sub OverloadedGenericMethod(Of T)(ByVal x As String, ByVal y As _
                                      InterfaceExample(Of T))
    End Sub

    Sub OverloadedGenericMethod(Of T, R)(ByVal x As T, ByVal y As _
                                         InterfaceExample(Of R))
    End Sub

End Module

Interface InterfaceExample(Of T)
End Interface

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

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

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

См. также

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

Ослабленное преобразование делегата

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

Другие ресурсы

Преобразование типов в Visual Basic