Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0411

Argumenty typu metody "method" nelze odvodit z použití. Zkuste explicitně zadat argumenty typu.

K této chybě dochází, pokud voláte obecnou metodu bez explicitního zadání argumentů typu a kompilátor nemůže odvodit, které argumenty typu jsou určeny. Chcete-li se této chybě vyhnout, přidejte do úhlových závorek zamýšlené argumenty typu.

Příklad 1

Následující ukázka vygeneruje CS0411:

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

Příklad 2

Mezi další možné chybové případy patří, když je nullparametr , který neobsahuje žádné informace o typu:

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