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

如何在.NET中创建与保留关键字同名的属性

在.NET中使用保留关键字作为类属性名的解决方案

要把JSON中的class字段映射为.NET类的同名属性,直接编写public string class { get; set; }会触发编译错误(class是.NET保留关键字),可通过以下方式实现需求:

核心实现:转义关键字 + 序列化特性映射

在保留关键字前添加@符号做标识符转义,同时搭配序列化特性指定属性对应的JSON字段名,确保序列化/反序列化流程正常:

基于Newtonsoft.Json(Json.NET)的代码示例

using Newtonsoft.Json;

public class Imp
{
    public string Name { get; set; }
    
    [JsonProperty("class")]
    public string @class { get; set; }
    
    public Address address { get; set; }
    public decimal highest { get; set; }
}

基于System.Text.Json(.NET Core/.NET 5+内置)的代码示例

using System.Text.Json.Serialization;

public class Imp
{
    public string Name { get; set; }
    
    [JsonPropertyName("class")]
    public string @class { get; set; }
    
    public Address address { get; set; }
    public decimal highest { get; set; }
}

关键说明

  • @是.NET的标识符转义符,允许将保留关键字用作属性、变量名称
  • 序列化特性(JsonProperty/JsonPropertyName)用于告知序列化库:当前.NET属性对应JSON中的class字段,保证JSON数据与类实例之间的正确转换

内容的提问来源于stack exchange,提问作者Raghava Akula

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:17:03