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

Visual Studio 2017正则批量替换类属性添加BsonElement特性

解决方案:用Visual Studio正则查找替换批量添加BsonElement特性

刚好之前处理过类似的批量特性添加需求,给你一套直接能用的正则方案,步骤如下:

1. 切换到正则查找模式

打开VS的「查找和替换」窗口(快捷键Ctrl+H),点击窗口右下角的「使用正则表达式」按钮(图标是.*),确保正则模式已启用。

2. 填写查找和替换的正则表达式

  • 查找内容:

    public\s+string\s+(\w+)\s*\{\s*get;\s*set;\s*\}
    

    拆解一下这个正则的作用:

    • public\s+:匹配public关键字,允许后面跟任意数量的空格(包括换行)
    • string\s+:匹配属性类型string,同样允许后面跟任意空格
    • (\w+):这是核心的捕获组,用来抓取属性名(比如fooo),后续替换时会用到这个值
    • \s*\{\s*get;\s*set;\s*\}:匹配属性的{ get; set; }结构,兼容前后有空格的写法
  • 替换内容:

    [BsonElement("$1")] public string $1 { get; set; }
    

    这里的$1就是引用刚才捕获组里抓取到的属性名,会自动把fooo填到特性的引号里,也会保留原属性名。

3. 测试替换

比如原代码行:

public string fooo { get; set; }

替换后会自动变成:

[BsonElement("fooo")] public string fooo { get; set; }

扩展适配不同场景

如果你的属性不只是string类型,比如还有int、DateTime甚至可空类型(int?),可以把查找正则里的string改成[\w.?]+,这样就能匹配更多类型:

  • 查找内容调整为:
    public\s+([\w.?]+)\s+(\w+)\s*\{\s*get;\s*set;\s*\}
    
  • 替换内容对应调整为:
    [BsonElement("$2")] public $1 $2 { get; set; }
    
    这里$1引用类型名,$2引用属性名,适配更多属性类型的批量处理。

内容的提问来源于stack exchange,提问作者Xavier W.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:42:38