Compilerfehler CS1929
Aktualisiert: November 2007
Fehlermeldung
Instanzenargument: Konvertierung von "TypA" in "TypB" ist nicht möglich.
Instance argument: cannot convert from 'typeA' to 'typeB'.
Dieser Fehler tritt auf, wenn Sie versuchen, eine Erweiterungsmethode über eine Klasse aufzurufen, die sie nicht erweitert. Im folgenden Beispiel ist die Erweiterungsmethode für die abgeleitete Klasse A, nicht jedoch für die Basisklasse B definiert.
So beheben Sie diesen Fehler
- Erstellen Sie eine neue Erweiterungsmethode für den Typ, in dem sie aufgerufen werden muss, oder verschieben Sie den Aufruf in ein Objekt des Typs, den die bestehende Methode erweitert.
Beispiel
Der folgende Code führt zu den Fehlern CS1928 und CS1929:
// cs1929.cs
using System.Linq;
using System.Collections;
static class Ext
{
public static void ExtMethod(this A a)
{
}
}
class A : B
{
}
class B
{
static void Main()
{
B b = new B();
b.ExtMethod(); // CS1929
}
}