最近在项目中想实现一个小工具,需要根据类的属性<summary>
的内容加上相应的[Description]
特性,需要实现的效果如下
修改前:
/// <summary>
/// 条形码
/// </summary>
public List<GoodsBarcodeEditModel> Barcodes { get; set; }
修改后:
/// <summary>
/// 条形码
/// </summary>
[Description("条形码")]
public List<GoodsBarcodeEditModel> Barcodes { get; set; }
作为一个非处女座,但是有处女座特点的程序猿,牢记着DRY(Don't Repeat Yourself), 不想把时间浪费在不停的Copy-Paste上,于是想着VS的Find and Replace里的正则会不会有支持部分替换的功能,顺着这个想法,找到了微软文档《正则表达式中的替代》,里面的$数值
替换捕获组下好满足我的需求。接下来的工作就简单了
(///\s<.*\n*)(\s*)(///)(\s*)(\w*)(\n*)(\s*///.*)
代码段
正则分组
分组序号
/// <summary>
(///\s<.*\n*)
$1
空格
(\s*)
$2
///
(///)
$3
空格
(\s*)
$4
条形码
(\w*)
$5
换行
(\n*)
$6
/// </summary>
(\s*///.*)
$7
因此使用如下组合,就是得到我们想要的结果
$1$2$3$4$5$6$7 [Description("$5")]
最终效果如下: