Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Modifierarens modifierare är inte giltig för det här objektet
En klass- eller gränssnittsmedlem har markerats med en ogiltig åtkomstmodifierare. I följande exempel beskrivs några av dessa ogiltiga modifierare:
Den statiska modifieraren tillåts inte för en lokal funktion. Funktionen statisk lokal funktion stöds från och med C# 8.0. En kompilator som inte stöder C# 8.0 producerar CS0106 när du försöker använda den här funktionen. En kompilator som stöder C# 8.0 men den angivna språkversionen är före C# 8.0 genererar dock en diagnostik som tyder på att du använder C# 8.0 eller senare.
Nyckelordet public
tillåts inte i en explicit gränssnittsdeklaration. I det här fallet tar du bort nyckelordet public
från den explicita gränssnittsdeklarationen.
Det abstrakta nyckelordet tillåts inte i en explicit gränssnittsdeklaration eftersom en explicit gränssnittsimplementering aldrig kan åsidosättas.
Åtkomstmodifierare tillåts inte på en lokal funktion. Lokala funktioner är alltid privata.
Nyckelordet readonly tillåts inte på metoder i en klasstyp, med undantag för ref readonly
returer (readonly
nyckelordet måste visas efter nyckelordet ref
).
I tidigare versioner av Visual Studio static
tilläts inte modifieraren för en klass, men static
klasser tillåts från och med Visual Studio 2005.
Mer information finns i Gränssnitt.
Följande exempel genererar CS0106:
// 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 om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nu