相关疑难解决方法(0)

如何在.Net 1.1中的FileStream上实现IDisposable

这可能看起来像是一个问题,但我正在看这个,因为我听到有人声称你必须在FileStream上调用Close(),即使它在一个使用块中(并且他们有代码,其中调用Close())就在街区尽头).

我知道Close()意味着调用Dispose(),但我认为我看起来更深,因为这是.Net 1.1代码,我的大部分经验都是2.0.

令我印象深刻的是,FileStream的MSDN文档为.Net 2.0启用了Dispose()和Dispose(bool),但只为.Net 1.1启用了Dispose(bool).

我认为这可能是一个疏忽,所以我使用Reflector查看一个程序集 - 我也看到Dispose(bool),但没有Dispose().

它是否正确?如果是这样,这里的故事是什么?FileStream在一个使用块中工作 - 我认为它必须实现IDisposable,据我所知,它只声明Dispose().

是否有一些编译器魔法正在进行,或者我在某处错过了隐藏的Dispose()实现(可能是调用Dispose(true)或Dispose(false)?)

最后(没有双关语),你能否确认在使用块中使用FileStream的范围将在.Net 1.1中的范围出口处关闭流?

[编辑]

只是为了澄清,这是C#代码.我知道VB.Net在.Net 2.0之前没有得到using语句,但我的理解是C#在1.1中有它(我的1.1代码在这里有它并编译)

c# .net-1.1 dispose using filestream

5
推荐指数
1
解决办法
1507
查看次数

标签 统计

.net-1.1 ×1

c# ×1

dispose ×1

filestream ×1

using ×1