我知道这里有很多关于如何使用 using 语句和调用 Dispose() 方法的线程。我已经阅读了这些主题的大部分内容。
如果我调用 Dispose(),它会调用 Close() 吗?
如果我想使用一个对象(比如 SqlDataReader),然后在另一个代码块中再次使用它,我不应该调用 Dispose() 吗?这也意味着省略 using 语句。
此外,为了澄清,如果 FileStream 正在包装 StreamWriter 并且我在 FileStream 上调用 dispose,这将在 StreamWriter 上调用 Flush()、Close() 和 Dispose()(取决于 Dispose() 是否调用 Close()),对?同样,如果我在 FileStream 上调用 Close,这只会在 FileStream 上调用 Flush() 和 Close()。
检查 IL 是回答这些关于幕后发生的事情的好方法吗?