Compiler Error 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 this-Schlüsselwort 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 this-Modifizierer auf den ersten Parameter der Methode an.

Beispiel

Durch das folgende Beispiel wird der Fehler CS1112 ausgelöst:

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

class A { }