למה אנחנו צריכים ID disposable?
למה אנחנו צריכים ID disposable?

וִידֵאוֹ: למה אנחנו צריכים ID disposable?

וִידֵאוֹ: למה אנחנו צריכים ID disposable?
וִידֵאוֹ: Москва слезам не верит, 2 серия (FullHD, драма, реж. Владимир Меньшов, 1979 г.) 2024, מאי
Anonim

חד פעמי לא מנקה שום דבר או יהרוס חפצים. קריאה ל-Dispose() לא עושה כלום אם הפונקציה הזו לא עושה כלום. השימוש של חד פעמי הוא דפוס. הפניות מנוהלות לחפצים אחרים מונעות איסוף חפצים על ידי אספן האשפה.

באופן דומה, אתם עשויים לשאול, מדוע משתמשים בממשק IDdisposable?

חד פעמי לעיתים קרובות בשימוש לנצל את הצהרת השימוש ולנצל דרך קלה לבצע ניקוי דטרמיניסטי של אובייקטים מנוהלים. מטרת דפוס ה- Dispose היא לספק מנגנון לנקות משאבים מנוהלים ולא מנוהלים כאחד, ומתי זה מתרחש תלוי באופן שבו קוראים לשיטת Dispose.

יתר על כן, מהו IDdisposable? חד פעמי הוא ממשק המכיל שיטה אחת, Dispose(), לשחרור משאבים לא מנוהלים, כמו קבצים, זרמים, חיבורי מסד נתונים וכן הלאה.

בהתחשב בכך, מתי עלי להשתמש ב-IDisposable?

בכיתה, אתה צריך ליישם את IDisposable ודרוס את שיטת Dispose כדי לאפשר לך לשלוט מתי הזיכרון מתפנה. אם לא, האחריות הזו מוטלת על אספן האשפה לשחרר את הזיכרון כאשר האובייקט המכיל את המשאבים הבלתי מנוהלים יושלם.

למה אנחנו צריכים להיפטר ב-C#?

תמיד מומלץ להשתמש להיפטר שיטה לניקוי משאבים לא מנוהלים. אבל משאבים לא מנוהלים (לדוגמה, אובייקטים שנוצרו ב-API של Windows, קבצים, אובייקטים של חיבור מסד נתונים, אובייקטי COM וכו') נמצאים מחוץ לתחום של. מסגרת NET אָנוּ צריך לנקות במפורש את המשאבים שלנו. עבור סוגים אלה של חפצים,.

מוּמלָץ: