企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Compiler Error CS0840 “Property name”必须声明主体,因为它未标记为 abstract 或 extern。自动实现的属性必须同时定义 get 和 set 访问器。 除非常规属性被标记为 **abstract** 或 **extern** 或者作为 **partial** 类型的成员,否则必须为其提供主体。自动实现的属性不提供访问器体,但它们必须指定两个访问器。若要创建只读的自动实现属性,请将 set 访问器设为 **private**。 ## 更正此错误 1. 提供缺少的主体或访问器,或者在该属性和/或其封闭类型上使用 [abstract](https://msdn.microsoft.com/zh-cn/library/sf985hc5.aspx)、[extern](https://msdn.microsoft.com/zh-cn/library/e59b22c5.aspx) 或 [分部(类型)(C# 参考)](https://msdn.microsoft.com/zh-cn/library/wbx7zzdd.aspx) 修饰符。 下面的示例生成 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# 编程指南)](https://msdn.microsoft.com/zh-cn/library/bb384054.aspx)