.net – 可以不配置MemoryStream / StringReader吗?
发布时间:2020-12-15 04:53:12 所属栏目:Java 来源:网络整理
导读:我想创建一个返回XmlReader的方法.根据具体情况,可以向XmlReader提供不同类型的流,StringReader或MemoryStream. 通常我使用一个使用块来处理StringReader或MemoryStream,但是因为我想要返回一个XmlReader,如果我想要使用这个设计,我不能这样做. 我不希望Memo
我想创建一个返回XmlReader的方法.根据具体情况,可以向XmlReader提供不同类型的流,StringReader或MemoryStream.
通常我使用一个使用块来处理StringReader或MemoryStream,但是因为我想要返回一个XmlReader,如果我想要使用这个设计,我不能这样做. 在这种情况下让GC处理StringReader和MemoryStream的后果是否可以接受? 我应该澄清,这是一个实际问题,而不是最佳实践问题.显然,这个理论要求我应该清理自己的资源分配,但理论上也说我应该选择最简单的设计来实现最大的可维护性.在某些情况下,打破最佳实践可以证明IMHO是合理的,我的问题是这个具体案例是否有理由打破最佳实践. 这也只是关于StringReader和MemoryStream,而不是一般的流或读者. 解决方法
在这种情况下,没有什么会受到影响,但IMO仍然是非常糟糕的做法.你拥有它们 – 为什么不正确呢?实际上,处理MemoryStream仍然无法解除分配等 – 它仍然受GC限制.但是这里有一个明显的代码味道.如果有任何变化,这可能成为真正的问题,突然间它不是MemoryStream而是其他东西,等等.
我们不能让你处理它,但个人:我对我的使用很挑剔 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |