Auf Englisch lesen

Freigeben über


Compilerfehler CS1113

Die im 'Name'-Werttyp definierten 'Name'-Erweiterungsmethoden können nicht zum Erstellen von Delegaten verwendet werden.

Die für Klassentypen definierten Erweiterungsmethoden können zum Erstellen von Delegaten verwendet werden. Für Werttypen definierte Erweiterungsmethoden können dazu nicht verwendet werden.

So beheben Sie diesen Fehler

  1. Ordnen Sie die Erweiterungsmethode einem Klassentyp zu.

  2. Machen Sie aus der Methode für die Struktur eine normale Methode.

Beispiel

Im folgenden Beispiel wird der Fehler CS1113 generiert:

C#
// 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