Dispose автоматтык түрдө чакырылабы?
Dispose автоматтык түрдө чакырылабы?

Video: Dispose автоматтык түрдө чакырылабы?

Video: Dispose автоматтык түрдө чакырылабы?
Video: Как заменить треснувшую плитку и удалить эпоксидную затирку? 2024, Май
Anonim

Жоюу () болбойт автоматтык түрдө чакырды . Эгер жыйынтыктоочу бар болсо, ал болот автоматтык түрдө чакырды . IDisposable программасын ишке ашыруу классыңыздын колдонуучуларына таштанды жыйноочуну күтүүнүн ордуна ресурстарды эрте бошотууга жол берет. Эгерде класстын колдонуучусу Dispose чакырат () тазалоо түздөн-түз ишке ашат.

Аны таштанды жыйноочу деп атайбы?

Сейф туткасынын жыйынтыктоочусу болуп саналат чакырды тарабынан автоматтык түрдө таштанды жыйноочу эгерде анын Жоюу ыкма эмес чакырды . Аяктоо ыкмасы. Аяктоо башкарылбаган ресурстарды детерминистикалык эмес чыгарууга мүмкүндүк берет, качан бир түрдөгү керектөөчү аткара албаса чалуу IDisposable. Жоюу чейин тескөө алардын ичинен аныктоочу.

Андан кийин, C# тилинде dispose ыкмасы качан чакырылат деген суроо туулат? C# | CharEnumerator. Жоюу () Метод . Бул ыкмасы CharEnumerator классынын учурдагы инстанциясы колдонгон бардык ресурстарды чыгаруу үчүн колдонулат. The Жоюу () ыкмасы CharEnumerator жараксыз абалда калтырат.

Кийинчерээк, кимдир бирөө суроо бериши мүмкүн, чалууларды Dispose аягына чыгарабы?

Аяктоо Каршы Жоюу Бул мыйзамдуу эмес чалуу так жыйынтыктоочу. Сиздин Аяктоо () ыкмасы таштанды жыйноочу тарабынан чакырылат. Эгер сен кыл сиз жабууну каалаган баалуу башкарылбаган ресурстарды (мисалы, файл туткалары) иштетиңиз жана тескөө мүмкүн болушунча тезирээк, IDisposable интерфейсин ишке ашыруу керек.

Finalize () жана Dispose () ыкмаларынын ортосунда кандай айырма бар?

The ыкмасын жыйынтыктоо () таштанды жыйноочу тарабынан чакырылат. Жок кылуу ыкмасы () иштетилбеген ресурстарды бошотуу үчүн колдонулат. Метод жыйынтыктоо () объект жок болгонго чейин башкарылбаган ресурстарды бошотуу үчүн колдонулат. The жок кылуу ыкмасы () жабуу () болгондо ишке ашырылууга тийиш. ыкмасы.

Сунушталууда: