Compilerfehler CS0840
"Eigenschaftsname" ist nicht als abstrakt oder extern gekennzeichnet und muss daher einen Text deklarieren.Automatisch implementierte Eigenschaften müssen sowohl get- als auch set-Accessoren definieren.
Reguläre Eigenschaften müssen Text bereitstellen, außer sie sind als abstract oder extern gekennzeichnet bzw. sind Member eines partial-Typs.Automatisch implementierte Eigenschaften stellen keine Accessortexte bereit, müssen jedoch beide Accessoren angeben.Um eine schreibgeschützte automatisch implementierte Eigenschaft zu erstellen, setzen Sie den set-Accessor auf private.
So beheben Sie diesen Fehler
- Stellen Sie den fehlenden Text bzw. Accessor bereit, oder verwenden Sie den abstract-Modifizierer, den extern-Modifizierer oder partial (Typ) (C#-Referenz)-Modifizierer für die Eigenschaft oder ihren einschließenden Typ.
Beispiel
Durch das folgende Beispiel wird der Fehler CS0840 ausgelöst:
// cs0840.cs
// Compile with /target:library
using System;
class Test
{
public int myProp { get; } // CS0840
// to create a read-only property
// try the following line instead
public int myProp2 { get; private set; }
}
Siehe auch
Referenz
Automatisch implementierte Eigenschaften (C#-Programmierhandbuch)