日期:2014-05-18  浏览次数:20986 次

FileStream与BinaryReader 一起使用~求解~~
VB.NET code

Using fs = New FileStream(fi.FullName, FileMode.Open, FileAccess.Read, FileShare.Read, 4096)
                Using br As New BinaryReader(fs, Common.CharsetUTF8)
                    
                End Using
            End Using



C# code

using (fs == new FileStream(fi.FullName, FileMode.Open, FileAccess.Read, FileShare.Read, 4096)) {
    using (BinaryReader br = new BinaryReader(fs, System.Data.Common.CharsetUTF8)) {

    }
}



编译器会提示 警告 24 CA2202 : Microsoft.Usage : 可以在方法 中多次释放对象 'fs'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose

请问 这是怎么回事??

------解决方案--------------------
因为BinaryReader关闭时也会关闭基础流。
可以不用管这个警告,因为无论是BinaryReader还是FileStream的Dispose都是可以重复调用的。