全球流媒体阅读器和编写器?如何正确使用"使用"

时间:2014-03-17 19:57:49

标签: c# using streamreader streamwriter

来自C / C ++,我习惯使用指针来处理我的大多数操作,但是我理解在使用streamreader / streamwriter时使用“using”语句的重要性。

但是我面临一个特殊问题,因为我有一个方法/函数可以打开/声明streamreader / streamwriter,我有另一个方法/函数来实际读/写流。但是“using”语句只是本地的,因此我无法在执行实际读/写的函数中正确使用“using”语句。 streamreader / streamwrite在类定义中定义,只能由类本身访问。这两种方法都是类函数。

这可能是一个非常新手的问题,但我在网上找不到任何有用的东西。谢谢。

2 个答案:

答案 0 :(得分:1)

using() { ... }只是在您的范围结束时调用.Dispose()的便捷方式 您不必总是使用using() { ... }。您可能希望显式处理对象的生命周期。

答案 1 :(得分:1)

好吧,如果你需要在创建它的范围之外返回IDisposable对象,你可以这样做,前提是一旦某个其他代码在不再使用时在其上调用.Dispose()

但是,要获得更完整的答案,您应该发布一些代码。重构可能有助于完全避免这个问题。