我只是寻找一些比我更有经验的人的建议(不会很难)。
以下代码......
XmlSerializer serializer = new XmlSerializer(typeof(Installation));
using (var sw = new StringWriter()) {
using (var xw = XmlWriter.Create(sw)) {
serializer.Serialize(xw, Installation);
}
xmlResult = sw.ToString();
}
在代码分析中有以下报告......
CA2202多次弃置物品对象' sw'可 方法不止一次处理 ' Views_Commissioning_installationSubsidyForm.SaveInstall(字符串)&#39 ;.至 避免生成不应调用的System.ObjectDisposedException 在物体上多次处理:线条: 766 nc1_DealerPortal installationSubsidyForm.aspx.cs 766
任何人都可以解释我是如何处理' sw'不止一次?我在这里做错了什么?
答案 0 :(得分:1)
StringWriter
将由XmlWriter
处理,因此,通过使用2个使用语句,它将被处理两次更改代码,如下所示:
XmlSerializer serializer = new XmlSerializer(typeof(Installation));
var sw = new StringWriter())
using (var xw = XmlWriter.Create(sw))
{
serializer.Serialize(xw, Installation);
xmlResult = sw.ToString();
}
答案 1 :(得分:-1)
试试这个,对我没有警告:
string xmlResult;
Installation installation = new Installation();
XmlSerializer serializer = new XmlSerializer(typeof(Installation));
using (var sw = new StringWriter())
{
var xw = XmlWriter.Create(sw);
serializer.Serialize(xw, installation);
xmlResult = sw.ToString();
}