آیا دفع خودکار نامیده می شود؟
آیا دفع خودکار نامیده می شود؟

تصویری: آیا دفع خودکار نامیده می شود؟

تصویری: آیا دفع خودکار نامیده می شود؟
تصویری: آیا این برگه های اقامت بعد از شش ماه تمدید میشود ؟آیا با این برگه کارت بانکی میدهد؟ 2024, ممکن است
Anonim

انتقال () نخواهد بود به صورت خودکار فراخوانی شد . اگر نهایی کننده باشد خواهد بود به صورت خودکار فراخوانی شد . پیاده‌سازی IDisposable راهی را برای کاربران کلاس شما فراهم می‌کند که به جای منتظر ماندن برای جمع‌آورنده زباله، منابع را زودتر آزاد کنند. اگر کاربر کلاس Dispose را فرا می خواند () پاکسازی مستقیما انجام می شود.

آیا با زباله جمع کن، دفع نامیده می شود؟

نهایی کننده دسته گاوصندوق است تماس گرفت به طور خودکار توسط زباله روب اگر آن انتقال روش نیست تماس گرفت . روش نهایی کردن نهایی‌سازی، آزادسازی غیر قطعی منابع مدیریت‌نشده را زمانی که مصرف‌کننده یک نوع ناکام می‌شود، امکان‌پذیر می‌سازد. صدا زدن یکبار مصرف انتقال به انتقال از آنها به طور قطعی.

پس از آن، سوال این است که چه زمانی متد dispose در سی شارپ فراخوانی می شود؟ سی شارپ | CharEnumerator. انتقال () روش . این روش برای انتشار تمام منابع مورد استفاده در نمونه فعلی کلاس CharEnumerator استفاده می شود. این انتقال () روش CharEnumerator را در حالت غیرقابل استفاده قرار می دهد.

متعاقباً، می‌توان پرسید که آیا فراخوان نهایی می‌شود؟

نهایی کردن در مقابل انتقال قانونی نیست صدا زدن یک نهایی کننده به صراحت شما نهایی کردن متد () توسط زباله جمع کن فراخوانی می شود. اگر شما انجام دادن مدیریت منابع گرانبهای مدیریت نشده (مانند دسته فایل) که می خواهید ببندید و انتقال در سریع ترین زمان ممکن، باید رابط IDisposable را پیاده سازی کنید.

تفاوت بین روش های Finalize () و Dispose () چیست؟

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

توصیه شده: