Compilerfehler CS1112

Verwenden Sie „System.Runtime.CompilerServices.ExtensionAttribute“ nicht. Verwenden Sie stattdessen das Schlüsselwort „this“.

Dieser Fehler wird ausgelöst, wenn ExtensionAttribute in einer nicht statischen Klasse mit Erweiterungsmethoden verwendet wird. Falls dieses Attribut für eine statische Klasse verwendet wird, tritt eventuell ein anderer Fehler wie der Fehler CS0708, „Instanzmember können nicht in einer statischen Klasse deklariert werden“, auf.

In C# müssen Erweiterungsmethoden in einer statischen Klasse definiert werden, und der erste Parameter der Methode wird mit dem Schlüsselwort this modifiziert. Verwenden Sie das Attribut nicht im Quellcode. Weitere Informationen finden Sie unter Erweiterungsmethoden.

So beheben Sie diesen Fehler

  1. Entfernen Sie das Attribut, und wenden Sie den Modifizierer this auf den ersten Parameter der Methode an.

Beispiel

Im folgenden Beispiel wird der Fehler CS1112 generiert:

// cs1112.cs  
[System.Runtime.CompilerServices.ExtensionAttribute] // CS1112  
public class Extensions  
{  
    public bool A(bool b) { return b; }  
}  
  
class A { }