Compilerfehler CS0106Compiler Error CS0106

Der „modifier“-Modifizierer ist für dieses Element nicht gültig.The modifier 'modifier' is not valid for this item

Ein Klassen- oder Schnittstellenmember wurde mit ungültigen Zugriffsmodifizierern gekennzeichnet.A class or interface member was marked with an invalid access modifier. In den folgenden Beispielen werden einige dieser ungültigen Modifizierer beschrieben:The following examples describe some of these invalid modifiers:

  • Die Modifizierer static und public sind auf Schnittstellenmethoden nicht erlaubt.The static and public modifiers are not permitted on interface methods.

  • Der static-Modifizierer ist in einer lokalen Funktion nicht zulässig.The static modifier is not permitted on a local function.

  • Das public-Schlüsselwort ist bei einer expliziten Schnittstellendeklaration nicht zulässig.The public keyword is not allowed on an explicit interface declaration. Entfernen Sie in diesem Fall das public-Schlüsselwort aus der expliziten Schnittstellendeklaration.In this case, remove the public keyword from the explicit interface declaration.

  • Das abstract-Schlüsselwort ist in einer expliziten Schnittstellendeklaration nicht zulässig, da eine explizite Schnittstellenimplementierung nie überschrieben werden kann.The abstract keyword is not allowed on an explicit interface declaration because an explicit interface implementation can never be overridden.

  • Zugriffsmodifizierer sind bei einer lokalen Funktion nicht zulässig.Access modifiers are not allowed on a local function. Lokale Funkionen sind immer privat.Local functions are always private.

In früheren Visual Studio-Versionen, war der static-Modifizierer nicht auf einer Klasse erlaubt. Die static-Klassen dürfen jedoch mit Microsoft Visual Studio 2005Microsoft Visual Studio 2005 beginnen.In prior releases of Visual Studio, the static modifier was not permitted on a class, but static classes are allowed starting with Microsoft Visual Studio 2005Microsoft Visual Studio 2005.

Weitere Informationen finden Sie unter Schnittstellen (C#-Programmierhandbuch).For more information, see Interfaces

BeispielExample

Im folgenden Beispiel wird CS0106 generiert.The following sample generates CS0106.

// CS0106.cs  
namespace MyNamespace  
{  
   interface I  
   {  
      void m();  
      static public void f();   // CS0106  
   }  

   public class MyClass  
   {  
      public void I.m() {}   // CS0106  
      public static void Main() {}  
   }  
}