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

ASP.NET C#类/结构体/接口成员声明中Invalid token '='错误求助

解决Invalid token '=' in class, struct, or interface member declaration错误

这个错误的根源很明确:你用的C#版本不支持自动属性初始化器——就是你直接给public string Encoding { get; set; } = "Text";这种属性赋值的写法,这是C# 6.0才新增的语法特性。如果你的项目用的是C# 5.0或更早版本,编译器就会抛出这个错误。

给你两个可行的解决办法:

方法一:升级项目的C#语言版本

如果你的开发环境支持(比如用的是Visual Studio 2015及以上版本),可以直接升级C#版本:

  • 右键你的ASP.NET项目,选择「属性」
  • 切换到「生成」标签页,点击右下角的「高级」按钮
  • 在弹出的「高级生成设置」窗口里,找到「语言版本」,选择「C# 6」或者更高的版本(比如最新的C# 11)
  • 保存设置后重新编译项目,这个错误就会消失

方法二:改用兼容旧版本的属性写法

如果没法升级C#版本,就换成传统的属性实现方式,有两种选择:

1. 用私有字段+属性的传统写法

把初始化逻辑放到私有字段上:

// 用私有字段存储值,初始化赋值
private string _encoding = "Text";
public string Encoding
{
    get { return _encoding; }
    set { _encoding = value; }
}

private string _category = "Free";
public string Category
{
    get { return _category; }
    set { _category = value; }
}

2. 在构造函数里初始化属性

把初始化代码放到类的构造函数中:

public class YourClass // 替换成你的实际类名
{
    public string Encoding { get; set; }
    public string Category { get; set; }

    // 构造函数中初始化属性
    public YourClass()
    {
        Encoding = "Text";
        Category = "Free";
    }
}

另外补充一句:如果你用的是.NET Framework 4.5及更早版本,默认的C#版本可能低于6.0,这种情况下除了升级C#版本,也可以考虑升级.NET Framework到4.6及以上,它默认支持C# 6.0的特性。

内容的提问来源于stack exchange,提问作者Seth Hong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:31:39