Compiler Error CS0840
“Property name”必须声明主体,因为它未标记为 abstract 或 extern。自动实现的属性必须同时定义 get 和 set 访问器。
除非常规属性被标记为 abstract 或 extern 或者作为 partial 类型的成员,否则必须为其提供主体。自动实现的属性不提供访问器体,但它们必须指定两个访问器。若要创建只读的自动实现属性,请将 set 访问器设为 private。
更正此错误
- 提供缺少的主体或访问器,或者在该属性和/或其封闭类型上使用 abstract、extern 或 分部(类型)(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; }
}