Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
So vermeiden Sie diese Warnung
- Geben Sie einer der Methoden einen anderen Namen oder eine andere Anzahl von Parametern.
Beispiel
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;
}
}