You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#编译报错‘A get or set accessor expected’原因咨询

C#编译错误“A get or set accessor expected”原因解析

这个编译错误的核心原因是属性定义不符合C#语法规范,具体场景包括:

  • 属性的大括号内未添加get或set访问器:C#规定属性必须通过get(读取)或set(赋值)访问器来封装逻辑,只写空大括号{}会被编译器判定为语法错误。
  • 混淆字段与属性的写法:字段直接定义(如public string Name;),不需要大括号;而属性必须用大括号包裹访问器逻辑,如果给字段强行加上大括号,就会触发该错误。
  • 属性大括号内写入了非访问器代码:比如在属性的{}里直接写执行语句,而非get/set关键字开头的逻辑,也会导致编译器报错。

错误示例:

public class Person
{
    public string Name {} // 缺少get/set访问器,触发错误
}

正确示例:

public class Person
{
    // 自动实现属性(最简写法)
    public string Name { get; set; }

    // 带自定义逻辑的属性
    private int _age;
    public int Age
    {
        get { return _age; }
        set { if(value >= 0) _age = value; }
    }
}

内容的提问来源于stack exchange,提问作者Bui Truong An

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:35:17