来自C / C ++,我习惯使用指针来处理我的大多数操作,但是我理解在使用streamreader / streamwriter时使用“using”语句的重要性。
但是我面临一个特殊问题,因为我有一个方法/函数可以打开/声明streamreader / streamwriter,我有另一个方法/函数来实际读/写流。但是“using”语句只是本地的,因此我无法在执行实际读/写的函数中正确使用“using”语句。 streamreader / streamwrite在类定义中定义,只能由类本身访问。这两种方法都是类函数。
这可能是一个非常新手的问题,但我在网上找不到任何有用的东西。谢谢。
答案 0 :(得分:1)
using() { ... }
只是在您的范围结束时调用.Dispose()
的便捷方式
您不必总是使用using() { ... }
。您可能希望显式处理对象的生命周期。
答案 1 :(得分:1)
好吧,如果你需要在创建它的范围之外返回IDisposable
对象,你可以这样做,前提是一旦某个其他代码在不再使用时在其上调用.Dispose()
但是,要获得更完整的答案,您应该发布一些代码。重构可能有助于完全避免这个问题。