Compiler Error CS0840

“Property name”必须声明主体,因为它未标记为 abstract 或 extern。自动实现的属性必须同时定义 get 和 set 访问器。

除非常规属性被标记为 abstractextern 或者作为 partial 类型的成员,否则必须为其提供主体。自动实现的属性不提供访问器体,但它们必须指定两个访问器。若要创建只读的自动实现属性,请将 set 访问器设为 private

更正此错误

  1. 提供缺少的主体或访问器,或者在该属性和/或其封闭类型上使用 abstractextern分部(类型)(C# 参考) 修饰符。

下面的示例生成 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# 编程指南)