Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Der „modifier“-Modifizierer ist für dieses Element nicht gültig.
Ein Klassen- oder Schnittstellenmember wurde mit ungültigen Zugriffsmodifizierern gekennzeichnet. In den folgenden Beispielen werden einige dieser ungültigen Modifizierer beschrieben:
Der static-Modifizierer ist in einer lokalen Funktion nicht zulässig. Das Feature für statische lokale Funktionen wird ab C# 8.0 unterstützt. Ein Compiler, der C# 8.0 nicht unterstützt, erzeugt CS0106, wenn Sie versuchen, dieses Feature zu verwenden. Wenn ein Compiler C# 8.0 unterstützt, allerdings eine festgelegte Sprachversion vor C# 8.0 genutzt wird, erzeugt er eine Diagnose, die darauf hinweist, dass Sie C# 8.0 oder höher verwenden sollten.
Das public
-Schlüsselwort ist bei einer expliziten Schnittstellendeklaration nicht zulässig. Entfernen Sie in diesem Fall das public
-Schlüsselwort aus der expliziten Schnittstellendeklaration.
Das abstract-Schlüsselwort ist in einer expliziten Schnittstellendeklaration nicht zulässig, da eine explizite Schnittstellenimplementierung nie überschrieben werden kann.
Zugriffsmodifizierer sind bei einer lokalen Funktion nicht zulässig. Lokale Funkionen sind immer privat.
Das schreibgeschützte Schlüsselwort ist für Methoden in einem Klassentyp nicht zulässig, mit Ausnahme von ref readonly
-Rückgaben (Schlüsselwort readonly
muss nach dem Schlüsselwort ref
angezeigt werden).
In früheren Visual Studio-Versionen war der static
-Modifizierer in einer Klasse nicht erlaubt. Ab Visual Studio 2005 sind die static
-Klassen jedoch zulässig.
Weitere Informationen finden Sie unter Schnittstellen.
Im folgenden Beispiel wird CS0106 generiert:
// CS0106.cs
namespace MyNamespace
{
interface I
{
void M1();
void M2();
}
public class MyClass : I
{
public readonly int Prop1 { get; set; } // CS0106
public int Prop2 { get; readonly set; } // CS0106
public void I.M1() {} // CS0106
abstract void I.M2() {} // CS0106
public void AccessModifierOnLocalFunction()
{
public void LocalFunction() {} // CS0106
}
public readonly void ReadonlyMethod() {} // CS0106
// Move the `readonly` keyword after the `ref` keyword
public readonly ref int ReadonlyBeforeRef(ref int reference) // CS0106
{
return ref reference;
}
public static void Main() {}
}
public readonly class ReadonlyClass {} // CS0106
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren