gpt4 book ai didi

.net - 为什么 XmlNodeList 是一次性的?

转载 作者:数据小太阳 更新时间:2023-10-29 02:12:31 26 4
gpt4 key购买 nike

我找不到这个问题的答案。

出于好奇,为什么 XmlNodeList class在 .NET 4.5 中实现 IDisposable 而在以前的版本中没有实现?

最佳答案

很可能出于与 IEnumerator<T> 相同的原因工具 IDisposable但是IEnumerator不会——较早的版本是在作者考虑到一个实现可能需要清理的情况之前编写的,但是返回这种实现的工厂可能不知道这种需要。例如,一个类可能接受一个文件名并提供一个“实时”XmlNodeList。来自那个文件; IDisposable.Dispose XmlList 的方法将关闭基础文件。如果接口(interface)或抽象类的任何重要部分用户必须使用如下代码:

IDisposable asDispos = thing as IDisposable;
if (asDispos != null)
asDispos.Dispose();

如果其中许多不应该,那么应该可以实现 IDisposable本身,因为无条件调用 IDisposable.Dispose 更快在已知实现 IDisposable 的类上, 而不是尝试类型转换一个可能实现也可能不实现 IDisposable.Dispose 的类.

关于.net - 为什么 XmlNodeList 是一次性的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14398798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com