.net - 拆分 .Net 代码文件

标签 .net

这是我的第一个堆栈溢出问题,所以如果我没有正确发布,或者没有正确标记或其他什么,请告诉我。

对于那些好奇的人,在这个问题的最后是我为什么要这样做的一些背景知识。

我希望有人知道如何轻松获取代码文件,然后获取一个字符串数组,其中每个数组元素都包含该代码文件中单个方法的内容。

我想要做的是能够轻松地将 .Net 代码文件解析为它的个别方法。从磁盘读取文件非常简单 - 解析以便我拥有每个方法的单独字符串是我正在寻找更好的方法。我将通过它传递的代码文件是 VB,但理想情况下,我也希望看到它与 C# 一起使用。对于 VB 端,在每一行中循环查找方法声明的关键字,然后“end sub”和“end function”的下一个实例应该可以工作,但这不会轻易转换为 C#。我也无法摆脱这种感觉,必须有更好的方法 - 可能是通过反射(reflection)。

现在是背景:我最近发现当使用 .ShowDialog 调用 windows 窗体时,在完成窗体后不会清理资源 - 您必须专门处理它。这是在跟踪我工作的应用程序中的内存泄漏时发现的。所以我需要的是追踪调用 showdialog 和不调用 dispose 的每个实例。代码搜索显示我有超过 300 个 showdialog 实例。逐一检查并查找表单是否正确处理有点乏味。如果我有所有方法的字符串,我可以只搜索包含 showdialog 而不是 dispose 的方法。这将为我提供非常有针对性的方向来清理这些东西,并为我提供一个工具,我可以定期运行并找到任何可能将其引入代码的地方。

很抱歉在这里冗长的帖子。非常感谢任何和所有建议。

最佳答案

不要这样做。查看来自 JetBrains 的 ReSharper 或来自 DevExpress 的 RefactorPro 之类的工具。这些工具旨在突出代码异味,例如未处理的资源以及许多其他事情。使用其中一种工具会对您更有帮助并帮助您清理代码。

关于.net - 拆分 .Net 代码文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336139/

相关文章:

.net - 单例和客户端激活对象 (CAO)、Remoitng

c# - 如何从 dapper 返回的复杂对象中修剪所有字符串

c# - 使用不同的 publicKeyToken 升级引用 .Net dll

C# 本地 SQL 行返回 if 语句

c# - 泛型不能转换类型

.net - RavenDb MapReduce 索引包含 Map 中案例中的三个

c# - 另一个 "There is already an open DataReader associated......"

c# - 哪个日志实用程序适用于 C# 中的 .NET 应用程序(ASP.NET、WinForms)?

c# - 使用 resx 文件时,可以用常量值替换变量吗

C# 类引用的对象集