چرا به IDdisposable نیاز داریم؟
چرا به IDdisposable نیاز داریم؟

تصویری: چرا به IDdisposable نیاز داریم؟

تصویری: چرا به IDdisposable نیاز داریم؟
تصویری: IDdisposable در سی شارپ | زمان و مکان استفاده از IDisposable | NET Core 2024, نوامبر
Anonim

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

به طور مشابه، ممکن است بپرسید چرا از رابط IDisposable استفاده می شود؟

یکبار مصرف اغلب است استفاده شده برای استفاده از عبارت use و استفاده از یک روش آسان برای پاکسازی قطعی اشیاء مدیریت شده. هدف الگوی Dipose ارائه مکانیزمی برای پاکسازی منابع مدیریت شده و مدیریت نشده است و زمان وقوع آن بستگی به نحوه فراخوانی روش Dipose دارد.

علاوه بر این، IDisposable چیست؟ یکبار مصرف اینترفیسی است که شامل یک روش منفرد به نام Dispose() برای انتشار منابع مدیریت نشده مانند فایل ها، جریان ها، اتصالات پایگاه داده و غیره است.

با توجه به این موضوع، چه زمانی باید از IDisposable استفاده کنم؟

در یک کلاس، شما باید IDisposable را پیاده سازی کند و روش Dispose را بازنویسی کنید تا به شما امکان دهد زمان آزاد شدن حافظه را کنترل کنید. در غیر این صورت، این مسئولیت به جمع‌آورنده زباله واگذار می‌شود تا زمانی که شی حاوی منابع مدیریت‌نشده نهایی شد، حافظه را آزاد کند.

چرا در سی شارپ به دور ریختن نیاز داریم؟

همیشه استفاده از آن توصیه می شود انتقال روشی برای پاکسازی منابع مدیریت نشده اما منابع مدیریت نشده (به عنوان مثال، Windows API ایجاد اشیاء، فایل، اشیاء اتصال پایگاه داده، اشیاء COM، و غیره) خارج از محدوده. چارچوب خالص ما باید به صراحت منابع خود را تمیز کنیم. برای این نوع اشیا،.

توصیه شده: