We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Compiler Error CS0840

'Property name' must declare a body because it is not marked abstract or extern. Automatically implemented properties must define both get and set accessors.

Unless a regular property is marked as abstract or extern, or is a member of a partial type, it must supply a body. Auto-implemented properties do not provide accessor bodies, but they must specify both accessors. To create a read-only auto-implemented property, make the set accessor private.

To correct this error

The following example generates CS0840:

// 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; }