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.
Sono state trovate più implementazioni del modello di query per il tipo di origine 'type'. Chiamata ambigua a 'method'.
Questo errore viene generato quando vengono definite più implementazioni di un metodo di query e il compilatore non è in grado di distinguere quale sia quella più adatta per la query. Nell'esempio seguente le due versioni di Select hanno la stessa firma perché entrambe accettano int come parametro di input e hanno int come valore restituito.
Per correggere l'errore
- Fornire solo un'implementazione per ogni metodo.
Esempio
Il codice seguente genera l'errore CS1940:
// cs1940.cs
using System; //must include explicitly for types defined in 3.5
class Test
{
public delegate int Dele(int x);
int num = 0;
public int Select(Func<int, int> d)
{
return d(this.num);
}
public int Select(Dele d) // CS1940
{
return d(this.num) + 1;
}
public static void Main()
{
var q = from x in new Test()
select x;
}
}