Поделиться через


Ошибка компилятора CS0840

Обновлен: Ноябрь 2007

Сообщение об ошибке

"Property name" должен объявлять основную часть, поскольку оно не помечено как abstract и extern. Свойства, реализованные автоматически, должны определять методы доступа get и 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.

Пока регулярное свойство помечено как abstract or extern или является членом типа partial, оно должно предоставлять основную часть. Автоматически реализуемые свойства не предоставляют основные части методов доступа, однако должны указывать оба эти метода. Чтобы создать автоматически реализуемое свойство, доступное только для чтения, задайте private метод доступа set.

Исправление данной ошибки

Пример

В следующем примере возникает ошибка 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; }
    
}

См. также

Ссылки

Автоматически реализуемые свойства (Руководство по программированию на C#)