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();
}
}
我使用的是 .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();
}
}