0

我需要自动找到所有未正确处理的代码。是否可以通过反射检查我的类型 N 是否在 using 语句中使用(调用了 Dispose)?

4

1 回答 1

4

不。您最接近的方法是添加一个终结器 - 可能有条件,以便它仅包含在调试版本中 - 它检查您是否已被处理并记录问题。(在这种情况下,您可能希望将堆栈跟踪保留在构造中,以便归咎于正确的代码。)

请记住,添加终结器会导致垃圾停留更长时间 - 尽管在您的Dispose调用中您可以抑制终结器,因此除了在构造时生成堆栈跟踪之外,正确的代码不会有明显的惩罚......

现在这一切都假设你想在执行时做事。有各种静态分析工具(例如Visual Studio 中内置的代码分析),它们会在构建时告诉您是否看起来您没有适当地处理所有内容。

于 2013-10-21T13:01:46.823 回答