Compilerfehler CS1112
Aktualisiert: November 2007
Fehlermeldung
Verwenden Sie "System.Runtime.CompilerServices.ExtensionAttribute" nicht. Verwenden Sie stattdessen das Schlüsselwort "this".
Do not use 'System.Runtime.CompilerServices.ExtensionAttribute'. Use the 'this' keyword instead.
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 (C#-Programmierhandbuch).
So beheben Sie diesen Fehler
- 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 { }