Compilerfehler CS1113
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;
}
}