在 c# 中,我使用以下语句反序列化实现 IDisposable 的类型的对象(仅用于说明)。
XmlSerializer s = new XmlSerializer(typeof(MyDisposable))
MyDisposable o = (MyDispoable)s.Deserialize(filepath);
afaik,序列化程序尝试使用默认 ctor 构造对象并随后分配所有公共属性和字段。如果出现任何异常,我不会接触到构造的对象。
所以,我的问题是是否有任何方法可以确保自动释放已分配的资源。我知道 Dispose(bool disposing)-'pattern' 实现了显式终结器,但我更愿意明确地释放任何资源(即确定性地)。