Compilerwarnung (Stufe 1) CS1957
Member „name“ setzt „method“ außer Kraft. Es gibt mehrere Kandidaten, die zur Laufzeit außer Kraft gesetzt werden können. Welche Methode aufgerufen wird, ist implementierungsabhängig festzulegen, .
Methodenparameter, die sich nur darin unterscheiden, ob sie ref
oder out
sind, können zur Laufzeit nicht unterschieden werden.
- Geben Sie einer der Methoden einen anderen Namen oder eine andere Anzahl von Parametern.
Durch den folgenden Code wird der Fehler CS1957 ausgelöst:
// 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;
}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: