Aviso do compilador (nível 1) CS1957
O membro "name" substitui "method". Há vários candidatos de substituição em tempo de execução. O método chamado dependerá da implementação.
Parâmetros de método que variam somente se eles são ref
ou out
não podem ser diferenciados em tempo de execução.
- Dê a um dos métodos um nome diferente ou um número diferente de parâmetros.
O seguinte código gera o erro CS1957:
C#
// 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;
}
}
Colaborar conosco no GitHub
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: