Compilerfehler CS1928
Aktualisiert: November 2007
Fehlermeldung
"Typ" enthält keine Definition für "Methode", und die Überladung der optimalen Erweiterungsmethode "Methode" weist einige ungültige Argumente auf.
'Type' does not contain a definition for 'method' and the best extension method overload 'method' has some invalid arguments.
Dieser Fehler wird ausgelöst, wenn der Compiler keinen Klassenmember mit dem Namen der aufgerufenen Methode finden kann. Der Compiler kann zwar eine Erweiterungsmethode mit diesem Namen finden, jedoch nicht mit einer Signatur, die den im Methodenaufruf übergebenen Typen entspricht.
So beheben Sie diesen Fehler
- Übergeben Sie Typen, die zu einer vorhandenen Erweiterungsmethode oder Klassenmethode passen.
Beispiel
Durch den folgenden Code wird der Fehler CS1928 ausgelöst:
// cs1928.cs
class Test
{
static void Main()
{
Test t = new Test();
t.M("hi"); // CS1928
}
}
static class Ext
{
public static void M(this Test t, int i)
{
}
}
Dieser Fehler geht häufig einher mit CS1503: "n"-Argument: kann nicht von "TypA" in "TypB" konvertiert werden.