Sdílet prostřednictvím


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

  1. Ordnen Sie die Erweiterungsmethode einem Klassentyp zu.

  2. 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;
    }
}

Siehe auch

Referenz

Erweiterungsmethoden (C#-Programmierhandbuch)