Advertencia del compilador (nivel 1) CS1957
El miembro 'name' invalida 'method'. Hay varios candidatos de invalidación en tiempo de ejecución. El método que se llamará depende de la implementación.
No se pueden diferenciar en tiempo de ejecución los parámetros de método que solo varían por que sean ref
o out
.
- Asigne a uno de los métodos un nombre diferente o un número diferente de parámetros.
El código siguiente genera el error 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 con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: