簡體   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