Chyba kompilátoru CS0106

Modifikátor modifikátoru není pro tuto položku platný.

Třída nebo člen rozhraní byl označen neplatným modifikátorem přístupu. Následující příklady popisují některé z těchto neplatných modifikátorů:

  • Statický modifikátor není povolen pro místní funkci. Funkce statické místní funkce je podporovaná od jazyka C# 8.0. Kompilátor, který nepodporuje C# 8.0, vytvoří CS0106 při pokusu o použití této funkce. Kompilátor, který ale podporuje jazyk C# 8.0, ale verze sady je před jazykem C# 8.0, vytvoří diagnostiku s návrhem, že použijete C# 8.0 nebo novější.

  • Klíčové public slovo není povoleno u explicitní deklarace rozhraní. V tomto případě odeberte public klíčové slovo z explicitní deklarace rozhraní.

  • Abstraktní klíčové slovo není povoleno u explicitní deklarace rozhraní, protože explicitní implementace rozhraní se nikdy nedá přepsat.

  • Modifikátory přístupu nejsou povoleny pro místní funkci. Místní funkce jsou vždy soukromé.

V předchozích verzích Visual Studio static nebyl modifikátor u třídy povolen, ale static třídy začínají Visual Studio 2005.

Další informace najdete v tématu Rozhraní.

Příklad

Následující ukázka vygeneruje CS0106:

// CS0106.cs
namespace MyNamespace
{
   interface I
   {
      void M();
   }

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