首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

IDisposable对象的有关问题

2012-03-21 
IDisposable对象的问题代码如下:using(MemoryStreammsnewMemoryStream()){using(BinaryWriterbwnewBinar

IDisposable对象的问题
代码如下:

using   (MemoryStream   ms   =   new   MemoryStream())
{
using   (BinaryWriter   bw   =   new   BinaryWriter(ms))
{
bw.Write(true);
}
ms.WriteByte((byte)1);     //   此行出错:   System.ObjectDisposedException
ms.Close();
}

如何让bw在回收的时候不释放ms?

[解决办法]
没办法,ms和bw其实是同1个
using (MemoryStream ms = new MemoryStream())
{
BinaryWriter bw = new BinaryWriter(ms)
bw.Write(true);
ms.WriteByte((byte)1);
ms.Flush();
}
[解决办法]
把内层的using去掉,using{}内会自动释放托管资源
[解决办法]
GC.KEEPALIVE(bw)

热点排行