c# - C# 将 XML 反序列化为自定义类
问题描述
我有一个单一的配置 XML 文件,它可以反序列化为不同的实例,每个实例只占用这个 XML 的一部分。
class A
{
public string A { get; set; }
}
class B
{
public string B { get; set; }
}
public static T Xml2Cls<T>(string filename)
{
XDocument doc = XDocument.Load(filename);
var root = new XMLRootAttribte(doc.Root.Name.LocalName);
var serializer = new XMLSerializer(typeof(T), root);
using (var reader = doc.Root.CreateReader())
{
return (T)serializer .Deserialize(reader);
}
}
// if I keep calling the following for say 1000 times
// all these instances don't seem to get garbage collected
var a = Xml2Cls<A>("a.xml");
var b = Xml2Cls<B>("a.xml");
<root>
<a>...</a>
<b>...</b>
</root>
任何想法为什么这些实例化的对象不是垃圾配置?我尝试将其return
移出using
街区,但这并没有什么不同。
解决方案
推荐阅读
- laravel - 将 StreamBuilder 与 Laravel Echo 一起使用
- python - 如何在 Python 的抽象类实现中使用 self?
- javascript - 在 Promise.race 中查找已履行承诺的索引
- r - 在R中按用户ID编号日期
- node.js - 如何获得营业额最多的前 10 名客户?
- discord.js - 如何向成员添加角色
- python - 使用 Python 的 Tkinter 创建动态菜单(例如最近的文件列表)
- javascript - JS使用循环在数组中搜索值?
- node.js - IIS 节点和 Windows 身份验证:IIS 网站不断提示输入凭据
- python - 如何用python对字典中数组的值求和?