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.
Aktualisiert: November 2007
Fehlermeldung
Die im Werttyp "Name" definierten Erweiterungsmethoden "Name" können nicht zum Erstellen von Delegaten verwendet werden.
Extension methods 'name' defined on value type 'name' cannot be used to create delegates.
Mit Erweiterungsmethoden, die für Klassentypen definiert sind, können Delegate erstellt werden. Bei Erweiterungsmethoden, die für Werttypen definiert sind, ist dies nicht möglich.
So beheben Sie diesen Fehler
Ordnen Sie die Erweiterungsmethode einem Klassentyp zu.
Wandeln Sie die Methode in eine reguläre Methode für die Struktur um.
Beispiel
Durch das folgende Beispiel wird der Fehler CS1113 ausgelöst:
// cs1113.cs
using System;
public static class Extensions
{
public static S ExtMethod(this S s)
{
return s;
}
}
public struct S
{
}
public class Test
{
static int Main()
{
Func<S> f = new S().ExtMethod; // CS1113
return 1;
}
}