每次在visual studio 2015,當我運行Code Analysis
時,有一些惱人的警告。所有這些都是在這樣的方法:如何解決CA2202:爲了避免生成一個System.ObjectDisposedException警告
這裏是我的方法:
public static JObject ReadJson(string file_path)
{
try {
JObject o1 = JObject.Parse(File.ReadAllText(file_path));
using (StreamReader file = File.OpenText(file_path))
{
using (JsonTextReader reader = new JsonTextReader(file))
{
return (JObject)JToken.ReadFrom(reader);//the warning is here
}
}
}
catch
{
return default(JObject);
}
}
那麼,爲什麼這個警告出現?如何解決它?而最重要的是什麼 我在這個方法的錯,在我看來很完美
警告說明
嚴重性代碼說明項目文件行警告CA2202: Microsoft.Usage:對象「文件」可以在 方法'JsonHelper.ReadJson(string)'中多次處理。爲避免生成一個 System.ObjectDisposedException,您不應該在對象上調用Dispose超過 一次。
我使用 '使用Newtonsoft.Json; 使用Newtonsoft.Json.Linq;' –