Logo fa.boatexistence.com

آیا تماس نهایی از بین می رود؟

فهرست مطالب:

آیا تماس نهایی از بین می رود؟
آیا تماس نهایی از بین می رود؟

تصویری: آیا تماس نهایی از بین می رود؟

تصویری: آیا تماس نهایی از بین می رود؟
تصویری: گوشیم شنود شده؟ راه حل جلوگیری از هدایت تماس هایم برای دیگران چیست؟؟ 2024, جولای
Anonim

اگر منابع بومی را در اختیار دارید، هم Dispose و هم Finalize را اجرا می کنید، و هر دو یک روش مشترک را فراخوانی می کنند که منابع بومی را آزاد می کند. این اصطلاحات معمولاً از طریق یک روش خصوصی Dispose (bool disposing) ترکیب می‌شوند، که فراخوانی‌ها را با true و نهایی کردن تماس‌ها با false انجام می‌دهد.

چه زمانی از نهایی کردن در مقابل دور ریختن استفاده کنیم؟

Method dispose() برای آزاد کردن منابع مدیریت نشده هر زمان که فراخوانی شود استفاده می شود. متد ()finalize برای آزاد کردن منابع مدیریت نشده قبل از نابودی شی استفاده می شود. متد dispose() باید هر زمان که متد ()close وجود داشته باشد اجرا شود.

تفاوت بین روش های Dipose و Finalize چیست؟

تفاوت اصلی بین dispose و finalize است که روش dispose باید به صراحت توسط کاربر فراخوانی شود در حالی که، روش نهایی توسط زباله جمع کن، درست قبل از شی نابود شده است.

آیا استفاده از تماس از بین می رود؟

دستور using تضمین می کند که Disposeنامیده می شود، حتی اگر در هنگام فراخوانی متدها روی شی، یک استثنا رخ دهد. شما می توانید با قرار دادن شی در داخل یک بلوک try و سپس فراخوانی Dispose در بلوک نهایی به همان نتیجه برسید. در واقع، دستور استفاده به این صورت توسط کامپایلر ترجمه می شود.

باید با Dispose C تماس بگیرم؟

4 پاسخ. قانون سرانگشتی: اگر کلاسی IDisposable را پیاده‌سازی می‌کند، باید همیشه به محض اینکه استفاده از این منبع را به پایان رساندید، متد Dispose را فراخوانی کنید حتی بهتر است آن را در یک دستور استفاده قرار دهید تا مطمئن شوید که متد Dispose خواهد بود. فراخوانی شود حتی اگر یک استثنا پرتاب شود: با استفاده از (var reader=conn.

توصیه شده: