CS0412 de erro do compilador

Mensagem de erro

'genérico': um parâmetro ou variável local não pode ter o mesmo nome que um parâmetro de tipo de método

Há um conflito de nome entre o parâmetro de tipo de um método genérico e uma variável local no método ou em um dos parâmetros do método.Para evitar esse erro, renomeie qualquer parâmetro conflitante ou variáveis locais.

Exemplo

O exemplo a seguir gera CS0412:

// CS0412.cs
using System;

class C
{
    // Parameter name is the same as method type parameter name
    public void G<T>(int T)  // CS0412
    {
    }
    public void F<T>()
    {
        // Method local variable name is the same as method type
        // parameter name
        double T = 0.0;  // CS0412
        Console.WriteLine(T);
    }

    public static void Main()
    {
    }
}