6

我有一个.sql包含存储过程定义的文件。

我需要用 C# 编写一个小程序来读取文件并获取包含存储过程签名的列表。

例如,此列表应如下所示:

[dbo].[procedureOne] ( int, int, varchar(250) out, nvarchar) 
[dbo].[procedureTwo] ( int, varchar(255) )
[dbo].[procedureThree] (  ) 
[dbo].[amazingSP] ( datetime, datetime ) 

有没有办法使用正则表达式来做到这一点?

最好的方法是什么?

4

2 回答 2

1

也许你可以用正则表达式来做,但我认为在这种情况下编写解析器实际上会更容易。

如果你愿意,你可以试试Irony,它使用起来非常简单。

于 2012-12-20T17:31:57.540 回答
0

最后,我用 C# 手工实现了一个签名解析器。我花了几天的时间来完善它,因为总是有一些情况会破坏解析器导致意想不到的结果。无论如何,编码它很有趣。如果有人需要,我会在完成后上传代码。

于 2012-12-27T15:44:54.690 回答