Ler em inglês

Partilhar via


Erro do compilador CS0411

Os argumentos de tipo para o método 'método' não podem ser inferidos a partir do uso. Tente especificar os argumentos de tipo explicitamente.

Este erro ocorre se você chamar um método genérico sem fornecer explicitamente os argumentos de tipo e o compilador não pode inferir quais argumentos de tipo são pretendidos. Para evitar esse erro, adicione os argumentos de tipo pretendidos entre colchetes angulares.

Exemplo 1

O exemplo a seguir gera CS0411:

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

Exemplo 2

Outros possíveis casos de erro incluem quando o parâmetro é null, que não tem informações de tipo:

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