加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 没有处置的Xml序列化

发布时间:2020-12-16 07:44:36 所属栏目:百科 来源:网络整理
导读:using (var file_stream = File.Create("users.xml")) { var serializer = new XmlSerializer(typeof(PasswordManager)); serializer.Serialize(file_stream,this); file_stream.Close(); } 使用上面的代码非常有效.但是,当我把它缩短为: var serializer =
using (var file_stream = File.Create("users.xml"))
        {
            var serializer = new XmlSerializer(typeof(PasswordManager));
            serializer.Serialize(file_stream,this);
            file_stream.Close();
        }

使用上面的代码非常有效.但是,当我把它缩短为:

var serializer = new XmlSerializer(typeof(PasswordManager));
          serializer.Serialize(File.Create("users.xml"),this);

当我尝试在同一测试中反序列化users.xml文件时,我收到以下异常:
该进程无法访问文件’users.xml’,因为它正被另一个进程使用.

原因似乎是File.Create方法返回一个打开的FileStream,我无法关闭,因为我没有保留它的引用.

我的坏,还是微软的?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读