关于关闭流的一个疑惑

zd_cat 2009-11-30 11:40:37
代码是这样滴
StreamWriter sw = new StreamWriter(request.GetRequestStream());
sw包装了request.GetRequestStream()
那么我结识时候用了
sw.close();
请问这个时候request.GetRequestStream()这个流也会被一起close嘛?
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zd_cat 2009-11-30
  • 打赏
  • 举报
回复
谢谢楼上几位的回答啦
O(∩_∩)O~
APP开发王 2009-11-30
  • 打赏
  • 举报
回复
up
qldsrx 2009-11-30
  • 打赏
  • 举报
回复
MSDN上的解释“关闭当前的 StreamWriter 对象和基础流。”,这意味着会同时关闭request.GetRequestStream()这个流
  • 打赏
  • 举报
回复
同意楼上。只要不是在不同的线程中,都会关闭的。
gomoku 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hhc123 的回复:]
不会
[/Quote]
建议不要没有依据,就进行断言。

答案是会的,这是反汇编代码(Close调用Dispose(true)):

protected override void Dispose(bool disposing)
{
try
{
...
}
finally
{
if (this.Closable && (this.stream != null))
{
try
{
if (disposing)
{
this.stream.Close(); //<---
}
}
finally
{
this.stream = null;
...
}
}
}
}

hhc123 2009-11-30
  • 打赏
  • 举报
回复
不会

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧