Error del compilador CS0840

Actualización: noviembre 2007

Mensaje de error

'Nombre de propiedad' debe declarar un cuerpo porque no está marcado como abstract o extern. Las propiedades implementadas automáticamente deben definir los descriptores de acceso get y set.
'Property name' must declare a body because it is not marked abstract or extern. Automatically implemented properties must define both get and set accessors.

A menos que una propiedad normal esté marcada como abstract o extern, o sea miembro de un tipo partial, ésta debe proporcionar un cuerpo. Las propiedades autoimplementadas no proporcionan cuerpos de descriptor de acceso, pero deben especificar ambos descriptores de acceso. Para crear una propiedad autoimplementada de sólo lectura, aplique al descriptor de acceso set el valor private.

Para corregir este error

Ejemplo

El ejemplo siguiente genera el error 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; }
    
}

Vea también

Referencia

Propiedades autoimplementadas (Guía de programación de C#)