[英]Replace dataType[] with List<dataType>
我用xsd.exe
生成了xsd的dataModel。 我想用通用列表=> 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中使用Regex的方法:
// Find with:
(?<=\s)[A-Za-z_0-9]+(?=(\[\]){1})
// Replace with:
List<$&>
不幸的是,我的方法无法一步完成。 另外,我必须将1到n []分开。 最后,我必须删除所有[]并使用查找/替换可能导致错误的内容。
有人可以帮我解决一个问题吗? 使用Regex或其他可能的东西。 对我而言,重要的是一种可以在创建dataModel之后快速轻松地进行部署的解决方案。
您可以使用nodepad ++宏解决此问题。
单击Start recording macro
按钮
按Control + H启动搜索和替换
查找内容: (?<=\\s)([<>A-Za-z_0-9]+)\\[\\]
替换为: List<$1>
全部替换
在不关闭搜索对话框的情况下,单击“ 查找下一个”
单击Stop recording macro
按钮。
现在转到您要处理的文件
单击Run a macro multiple times
按钮
选择Run until the end of file
跑
注意:录制宏后,可以“保存”以供以后重复使用。 保存后,它将在notepad ++重新启动后可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.