Compilerfehler CS0840

Aktualisiert: November 2007

Fehlermeldung

"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.
'Property name' must declare a body because it is not marked abstract or extern. Automatically implemented properties must define both get and set accessors.

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)