第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何擺脫“對(duì)象'對(duì)象'可以在方法中多次處理”

如何擺脫“對(duì)象'對(duì)象'可以在方法中多次處理”

C#
瀟瀟雨雨 2022-07-23 09:34:29
我正在使用 Visual Studio 工具分析代碼,并收到以下消息:對(duì)象 'FileStream' 可以在方法 'BitmapFormat.WriteBitmap(byte[], int, int)' 中多次處理。為避免生成 System.ObjectDisposedException,您不應(yīng)在一個(gè)對(duì)象上多次調(diào)用 Dispose。我試圖在對(duì)象上顯式調(diào)用dispose,但無濟(jì)于事。這是方法:Stream FileStream = null;try{    FileStream = File.Open("finger.bmp", FileMode.Create, FileAccess.Write);    BinaryWriter TmpBinaryWriter = new BinaryWriter(FileStream);    TmpBinaryWriter.Write(StructToBytes(BmpHeader, 14));    TmpBinaryWriter.Write(StructToBytes(BmpInfoHeader, Marshal.SizeOf(BmpInfoHeader)));    //μ÷ê?°?D??¢    for (ColorIndex = 0; ColorIndex < m_nColorTableEntries; ColorIndex++)    {        ColorMask[ColorIndex].redmask = (byte)ColorIndex;        ColorMask[ColorIndex].greenmask = (byte)ColorIndex;        ColorMask[ColorIndex].bluemask = (byte)ColorIndex;        ColorMask[ColorIndex].rgbReserved = 0;        TmpBinaryWriter.Write(StructToBytes(ColorMask[ColorIndex], Marshal.SizeOf(ColorMask[ColorIndex])));    }    //í???Dy×a£??a??????í???μ1á¢μ??êìa    RotatePic(buffer, nWidth, nHeight, ref ResBuf);    //D′í???    //TmpBinaryWriter.Write(ResBuf);    byte[] filter = null;    if (w - nWidth > 0)    {        filter = new byte[w - nWidth];    }    for (int i = 0; i < nHeight; i++)    {        TmpBinaryWriter.Write(ResBuf, i * nWidth, nWidth);        if (w - nWidth > 0)        {            TmpBinaryWriter.Write(ResBuf, 0, w - nWidth);        }    }    TmpBinaryWriter.Close();    FileStream.Close(); // <----- THE WARNING IS HERE}finally{    if (FileStream != null)        FileStream.Dispose();}如果我刪除try finally塊,也會(huì)發(fā)生同樣的情況。即使我使用using聲明。我怎樣才能避免它?
查看完整描述

3 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

這可能會(huì)發(fā)生,因?yàn)槟赡車L試執(zhí)行

FileStream.Close(), 和

FileStream.Dispose()

在您的情況下使用 Dispose 沒有意義,您可以使用 Close 方法。close 方法將使用 'true' 值執(zhí)行 Dispose 方法。

請(qǐng)觀看“FileStream.Close()”方法的這個(gè)解釋:

https://msdn.microsoft.com/en-us/library/aa328800(v=vs.71).aspx

Close 的此實(shí)現(xiàn)調(diào)用 Dispose 方法并傳遞一個(gè)真值。


查看完整回答
反對(duì) 回復(fù) 2022-07-23
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

在 a 的特定情況下FileStream,您不需要將其處置來關(guān)閉文件,您只需要使用 Close 方法。



查看完整回答
反對(duì) 回復(fù) 2022-07-23
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

嘗試擺脫這條線。您在 finally 塊中調(diào)用 dispose ,該塊將始終運(yùn)行。所以你可以刪除這一行。



查看完整回答
反對(duì) 回復(fù) 2022-07-23
  • 3 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)