【发布时间】:2019-09-20 08:10:32
【问题描述】:
我用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 [] 分开处理。最后,我必须使用查找/替换可能导致错误的内容删除所有 []。
有人可以帮我解决一步吗?要么使用正则表达式,要么可能使用不同的东西。对我来说重要的是一个解决方案,我可以在创建数据模型后快速轻松地部署它。
【问题讨论】:
标签: c# regex visual-studio notepad++ xsd.exe