gpt4 book ai didi

c# - 有没有办法检查 TextWriter 是否关闭?

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:32 26 4
gpt4 key购买 nike

我正在编写一个将数据导出到 CSV 文件的类,它的构造函数接受一个 TextWriter。我使用 TextWriter 而不是 StreamWriter 的原因是这样可以使测试更容易:我可以使用相同的构造函数写入 StreamWriter(写入文件,预期用例)和写入 StringWriter (这对测试很有用)。

在我的构造函数中,我想对传入的 TextWriter 执行一些验证。问题是我似乎无法弄清楚如何检查 TextWriter 是打开还是关闭。如果 BaseStream 属性为空,则 StreamWriter 是可能的。但是,TextWriter 没有此属性。是否有另一种检查 TextWriter 是否打开的方法?

最佳答案

你可以这样尝试:

if( writer.BaseStream != null)
{
writer.WriteLine("Writer is open");
}
else
{
MessageBox.Show ("Writer is closed");
}

即,如果 BaseStreamNULL,则 writer 已被释放。

还建议为此使用 using block ,因为它会处理这个问题。

关于c# - 有没有办法检查 TextWriter 是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29092164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com