Compilerwarnung (Stufe 1) CS1957
Aktualisiert: November 2007
Fehlermeldung
Der Member 'Name' überschreibt 'Methode'. Zur Laufzeit sind mehrere Kandidaten zum Überschreiben verfügbar. Die aufgerufene Methode ist implementierungsabhängig.
Member 'name' overrides 'method'. There are multiple override candidates at run-time. It is implementation dependent which method will be called.
Methodenparameter, die sich nur durch ref oder out unterscheiden, können zur Laufzeit nicht unterschieden werden.
So vermeiden Sie diese Warnung
- Versehen Sie eine der Methoden mit einem anderen Namen oder einer anderen Anzahl von Parametern.
Beispiel
Durch den folgenden Code wird der Fehler CS1957 generiert:
// 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;
}
}