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.
I parametri di tipo di questo metodo interagiscono in modo da impedire che vengano 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 poter 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 il set di tipi a cui il metodo si applica.
L'applicabilità di un metodo di estensione è determinata dall'argomento fornito per il primo parametro, che nel codice seguente è arg1 .
'' 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 extensionExamplenon è possibile determinare il set 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 dedotto da arg1. L'applicabilità del metodo a qualsiasi possibile tipo non può pertanto essere verificata e 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.