Errore del compilatore CS0840

Aggiornamento: novembre 2007

Messaggio di errore

'Nome proprietà' deve dichiarare un corpo perché non è contrassegnato come abstract o extern. Le proprietà implementate automaticamente devono definire entrambe le funzioni di accesso get e 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 meno che una proprietà regolare non sia contrassegnata come abstract o extern o non sia un membro di tipo partial, deve fornire un corpo. Le proprietà implementate automaticamente non forniscono corpi di funzioni di accesso, ma devono specificare entrambe le funzioni di accesso. Per creare una proprietà implementata automaticamente in sola lettura, rendere la funzione di accesso set private.

Per correggere l'errore

Esempio

Nell'esempio seguente viene generato l'errore 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; }
    
}

Vedere anche

Riferimenti

Proprietà implementate automaticamente (Guida per programmatori C#)