繁体   English   中英

用列表替换dataType [] <dataType>

[英]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 ++宏解决此问题。

  1. 单击Start recording macro按钮

  2. Control + H启动搜索和替换

  3. 查找内容: (?<=\\s)([<>A-Za-z_0-9]+)\\[\\]

    替换为: List<$1>

    全部替换

  4. 在不关闭搜索对话框的情况下,单击“ 查找下一个”

  5. 单击Stop recording macro按钮。

  6. 现在转到您要处理的文件

  7. 单击Run a macro multiple times按钮

  8. 选择Run until the end of file

注意:录制宏后,可以“保存”以供以后重复使用。 保存后,它将在notepad ++重新启动后可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM