Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

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 (C#-Programmierhandbuch).

So beheben Sie diesen Fehler

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

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 { } 
Anzeigen: