Aviso do compilador (Nível 1) CS1957
O «nome» do membro substitui o «método». Há vários candidatos de substituição em tempo de execução. Depende da implementação qual método será chamado.
Parâmetros de método que variam apenas pelo facto de serem ref
ou out
não diferenciados em tempo de execução.
- Dê a um dos métodos um nome diferente ou um número diferente de parâmetros.
O código a seguir gera CS1957:
// cs1957.cs
class Base<T, S>
{
public virtual string Test(out T x) // CS1957
{
x = default(T);
return "Base.Test";
}
public virtual void Test(ref S x) { }
}
class Derived : Base<int, int>
{
public override string Test(out int x)
{
x = 0;
return "Derived.Test";
}
static int Main()
{
int x;
if (new Derived().Test(out x) == "Derived.Test")
return 0;
return 1;
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: