İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Hatası CS1940

'type' kaynak türü için sorgu deseninin birden çok uygulaması bulundu. 'method' için belirsiz çağrı.

Bu hata, bir sorgu yönteminin birden çok uygulaması tanımlandığında oluşturulur ve derleyici sorgu için en iyi hangisinin kullanılacağını kesinleştiremez. Aşağıdaki örnekte, her iki sürümü Select de aynı imzaya sahiptir çünkü her ikisi de giriş parametresi olarak bir int tane kabul ediyor ve dönüş değeri olarak sahipler int .

Bu hatayı düzeltmek için

  1. Her yöntem için yalnızca bir uygulama sağlayın.

Örnek

Aşağıdaki kod CS1940 oluşturur:

// 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;  
    }  
}  

Ayrıca bkz.