Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Type parameter '<typeparametername>' for '<genericprocedurename>' cannot be inferred
È stata chiamata una routine generica senza la fornitura di un elenco di argomenti di tipo. Inferenza di tipo non completata per uno degli argomenti di tipo.
Durante la chiamata a una routine generica viene generalmente fornito un argomento di tipo per ciascun parametro di tipo definito dalla routine. Tuttavia, è possibile omettere completamente l'elenco degli argomenti di tipo. In questo caso, il compilatore tenta di dedurre il tipo di ciascun argomento di tipo dal contesto della chiamata. Per ulteriori informazioni, vedere "Inferenza di tipi" in Routine generiche in Visual Basic.
Una delle possibili cause di errore di inferenze di tipo è la mancata corrispondenza di dimensioni tra un parametro di tipo e il tipo chiamante. Questa condizione è illustrata nel codice che segue.
Public Sub displayLargest(Of t As IComparable)(ByVal arg() As t)
' Insert code to find and display the largest element of arg().
End Sub
Public Sub callGenericSub()
Dim testValue As Integer
findLargest(testValue)
Dim testMatrix(,) As Integer
findLargest(testMatrix)
End Sub
Nell'esempio precedente, le due chiamate a findLargest generano questo errore perché il parametro di tipo t richiede una matrice unidimensionale, mentre il compilatore deduce dalle chiamate che gli argomenti di tipo sono costituiti da una matrice scalare (testValue) e una matrice bidimensionale (testMatrix).
ID errore: BC32050
Per correggere l'errore
Assicurarsi che i tipi degli argomenti normali siano tali che l'inferenza di tipo sia coerente con i parametri di tipo dichiarati per la routine generica.
-oppure-
Effettuare la chiamata alla routine generica con un elenco completo di argomenti di tipo in modo da non rendere necessaria l'inferenza di tipo.
Vedere anche
Concetti
Routine generiche in Visual Basic