Прочитать на английском

Поделиться через


Ошибка компилятора CS0411

Аргументы типа для метода "метод" не могут выводиться из использования. Попробуйте указать аргументы типа явным образом.

Эта ошибка возникает, если универсальный метод вызывается без явного предоставления аргументов типа, и компилятор не может определить, какие аргументы типа имеются в виду. Чтобы избежать этой ошибки, добавьте предполагаемые аргументы типа в угловых скобках.

Пример 1

Следующий пример приводит к возникновению ошибки CS0411:

C#
// CS0411.cs  
class C  
{  
    void G<T>()  
    {  
    }  
  
    public static void Main()  
    {  
        G();  // CS0411  
        // Try this instead:  
        // G<int>();  
    }  
}  

Пример 2

Также эта ошибка может возникать, например, когда параметр — null, который не имеет сведений о типе:

C#
// CS0411b.cs  
class C  
{  
    public void F<T>(T t) where T : C
    {  
    }  
  
    public static void Main()  
    {  
        C c = new C();  
        c.F(null);  // CS0411  
    }  
}