Compilerfehler CS0840
"Eigenschaftenname" ist nicht als abstrakt, extern oder partiell gekennzeichnet und muss daher einen Text deklarieren. Automatisch implementierte Eigenschaften müssen sowohl get- als auch set-Accessoren definieren.
Wenn eine reguläre Eigenschaft nicht als abstract
oder extern
gekennzeichnet oder ein Member des partial
-Typs ist, muss sie Text bereitstellen. Automatisch implementierte Eigenschaften stellen keine Accessortexte bereit, müssen aber beide Accessoren angeben. Um eine schreibgeschützte automatisch implementierte Eigenschaft zu erstellen, erstellen Sie den Set-Accessor private
.
So beheben Sie diesen Fehler
- Stellen Sie den fehlenden Text oder Accessor bereit, oder verwenden Sie alternativ die Bezeichner abstract, extern oder partial (Typ) für den Accessor oder seinen umschließenden Typ.
Beispiel
Im folgenden Beispiel wird CS0840 generiert:
// 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; }
}