将 dataType[] 替换为 List<dataType>
Replace dataType[] with List<dataType>
我用 xsd.exe
生成了 xsd 的数据模型。我想用通用列表 => List<dataType>
交换 dataType[]
。我需要自动更改语法,因为 dataModel 类 很大。
我的初衷是直接用xsd.exe
生成正确的代码。经过一番调查后,我发现这不是一个选项。
然后我尝试用 Regex 解决我的问题,但我没有幸运地找到正确的表达式。可能有人可以帮助我。修改可以直接在 Visual Studio 中完成,或者如果这在 Notepad++ 中不起作用。
我想做什么:
public dataType1[] dataType1 => public List<dataType1> dataType1
public dataType2[][] => public List<List<dataType2>>
public dataType3[][][] => public List<List<List<dataType3>>>
我在 VS 中使用正则表达式的方法:
// Find with:
(?<=\s)[A-Za-z_0-9]+(?=(\[\]){1})
// Replace with:
List<$&>
不幸的是,我的方法无法一步到位。此外,我必须将 1 到 n [] 分开处理。最后,我必须删除所有 [] 和 find/replace,这可能会导致错误。
有人可以帮我一步解决吗?使用正则表达式或可能使用不同的东西。对我来说重要的是一个解决方案,我可以在创建数据模型后快速轻松地部署它。
您可以使用 nodepad++ 宏解决此问题。
单击 Start recording macro
按钮
按 Control + H 启动搜索和替换
查找内容:(?<=\s)([<>A-Za-z_0-9]+)\[\]
替换为:List<>
全部替换
在不关闭搜索对话框的情况下单击查找下一个
单击 Stop recording macro
按钮。
现在转到您要处理的文件
单击 Run a macro multiple times
按钮
Select Run until the end of file
运行
注意:录制宏后,您可以'save'它以供以后重复使用。保存后它将在记事本++重新启动时可用。
我用 xsd.exe
生成了 xsd 的数据模型。我想用通用列表 => List<dataType>
交换 dataType[]
。我需要自动更改语法,因为 dataModel 类 很大。
我的初衷是直接用xsd.exe
生成正确的代码。经过一番调查后,我发现这不是一个选项。
然后我尝试用 Regex 解决我的问题,但我没有幸运地找到正确的表达式。可能有人可以帮助我。修改可以直接在 Visual Studio 中完成,或者如果这在 Notepad++ 中不起作用。
我想做什么:
public dataType1[] dataType1 => public List<dataType1> dataType1
public dataType2[][] => public List<List<dataType2>>
public dataType3[][][] => public List<List<List<dataType3>>>
我在 VS 中使用正则表达式的方法:
// Find with:
(?<=\s)[A-Za-z_0-9]+(?=(\[\]){1})
// Replace with:
List<$&>
不幸的是,我的方法无法一步到位。此外,我必须将 1 到 n [] 分开处理。最后,我必须删除所有 [] 和 find/replace,这可能会导致错误。
有人可以帮我一步解决吗?使用正则表达式或可能使用不同的东西。对我来说重要的是一个解决方案,我可以在创建数据模型后快速轻松地部署它。
您可以使用 nodepad++ 宏解决此问题。
单击
Start recording macro
按钮按 Control + H 启动搜索和替换
查找内容:
(?<=\s)([<>A-Za-z_0-9]+)\[\]
替换为:
List<>
全部替换
在不关闭搜索对话框的情况下单击查找下一个
单击
Stop recording macro
按钮。现在转到您要处理的文件
单击
Run a macro multiple times
按钮Select
Run until the end of file
运行
注意:录制宏后,您可以'save'它以供以后重复使用。保存后它将在记事本++重新启动时可用。