FileStream/StreamWriter 在 .NET Core 1.1 中没有 Close() 方法

FileStream/StreamWriter in .NET Core 1.1 have no Close() method

我使用的是 .net core 1.1,以前使用 .net framework 时,我通常在完成流操作后在 FileStream 或任何 Stream 上调用 Close(),但是 FileStream class in .net core 1.1 没有 Close 方法,我找到了 Dispose() 但不知道它是否等同。有人想让我知道正确关闭 .net 核心中的新 FileStream/StreamWriter class 的正确方法吗?

实现IDisposable意味着可以使用using语句,这将隐式调用Dispose()方法,从而关闭流。

使用

using (StreamWriter sw = new StreamWriter(path))
{
    // your logic here
} // here Dispose() is called implicitly and the stream is closed

使用using or build your own Dispose Pattern.

using (StreamWriter sw = new StreamWriter(path)
{

} 

运行进入这个问题,试图保持遗留代码的完整性,另一种选择是编写一个扩展方法。

public static class FileStreamExtension
{
    public static void Close(this FileStream reader)
    {
        reader.Dispose();
    }
}