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()
{
}
}