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
Extension method '<methodname>' has type constraints that can never be satisfied
I parametri di tipo di questo metodo interagiscono in modo da impedire loro di essere soddisfatti. Di seguito viene riportato un esempio di metodo di estensione.
'' Not valid.
'<Extension()> _
'Sub extensionExample(Of T As U, U)(ByVal para1 As T, ByVal para2 As U)
'End Sub
Poiché il metodo è un metodo di estensione, il compilatore deve essere in grado di determinare il tipo o i tipi di dati che il metodo estende solo in base al primo parametro della dichiarazione del metodo, para1, e all'argomento inviato per tale parametro. Quando il primo parametro fa riferimento a parametri di tipo generici, para1 as T, i vincoli sui parametri generici limitano l'insieme di tipi al quale il metodo si applica.
L'applicabilità di un metodo di estensione viene determinata dall'argomento fornito per il primo parametro, arg1, nel codice seguente.
'' Not valid.
'arg1.extensionExample(arg2)
Deve essere possibile verificare i vincoli su tutti i parametri di tipo generici a cui fa riferimento il primo parametro, para1, analizzando solo il primo argomento, arg1. In extensionExample non è possibile determinare l'insieme di tipi che si stanno estendendo solo dal primo parametro. Il parametro di tipo T è vincolato dal parametro di tipo U, a cui para1 non fa riferimento, e non può essere derivato da arg1. L'applicabilità del metodo a qualsiasi possibile tipo non può pertanto essere verificata. Quindi il metodo non potrà mai essere chiamato.
ID errore: BC36561
Per correggere l'errore
- Modificare la dichiarazione di tipo per rimuovere l'interdipendenza tra i tipi.