【发布时间】:2014-09-16 14:54:32
【问题描述】:
我有一些这样的代码。
using (StreamWriter sw = new StreamWriter(@"c:\SomeFile.txt"))
{
using (IDataReader reader = SomeMethodThatReturnsADataReader())
{
while (reader.Read())
{
// using sw and reader here
}
}
sw.Close();
}
代码分析报告以下警告。
CA2202 不要多次处理对象对象“sw”可以是 方法中不止一次处理。为了避免产生 System.ObjectDisposedException 你不应该调用 Dispose 超过 一次在一个物体上。
我在这里做错了什么?
【问题讨论】:
-
StreamWriter.Dispose 会为您调用 Close,因此无需再次调用。
标签: .net c#-4.0 idisposable static-code-analysis