Διαθέτω

Συγγραφέας: Lewis Jackson
Ημερομηνία Δημιουργίας: 8 Ενδέχεται 2021
Ημερομηνία Ενημέρωσης: 25 Ιούνιος 2024
Anonim
Καθηγητής στρατιωτικής σχολής Ευελπίδων για την πρόθεση της Πολωνίας διαθέσει MIG-29
Βίντεο: Καθηγητής στρατιωτικής σχολής Ευελπίδων για την πρόθεση της Πολωνίας διαθέσει MIG-29

Περιεχόμενο

Ορισμός - Τι σημαίνουν η διάθεση;

Στο con του C #, η διάθεση είναι μια μέθοδος αντικειμένου που καλείται να εκτελέσει τον κώδικα που απαιτείται για την εκκαθάριση της μνήμης και την απελευθέρωση και επαναφορά μη διαχειριζόμενων πόρων, όπως λαβές αρχείων και συνδέσεις βάσεων δεδομένων. Η απόρριψη βελτιώνει την απόδοση και βελτιστοποιεί τη μνήμη, απελευθερώνοντας μη κατορθώσιμα αντικείμενα και περιορισμένους πόρους, όπως τα χειριστήρια διεπαφής γραφικών (GDI) που χρησιμοποιούνται σε εφαρμογές με περιορισμένο χώρο των Windows.

Η μέθοδος απόρριψης, που παρέχεται από τη διασύνδεση IDisposable, υλοποιεί την εκποίηση κλήσεων. Το μοτίβο απόρριψης έχει σχεδιαστεί για έγκαιρη και προβλέψιμη εκκαθάριση, πρόληψη προσωρινών διαρροών μνήμης και διάθεση πόρων.


Εισαγωγή στη Microsoft Azure και το Microsoft Σε αυτό τον οδηγό θα μάθετε τι είναι το cloud computing και πώς η Microsoft Azure μπορεί να σας βοηθήσει να μεταφέρετε και να εκτελέσετε την επιχείρησή σας από το cloud.

Η Techopedia εξηγεί την απόρριψη

Το .NET Framework διευκολύνει τη συλλογή απορριμμάτων (GC), διαχειρίζεται τη μνήμη αντικειμένων και τους πόρους και διεκδικεί αναφορές μη έγκυρης μνήμης αντικειμένων κάνοντας έκκληση στο Finalize - μια μη αιτιοκρατική μέθοδο. Η μέθοδος απόρριψης ελέγχει τη διάρκεια ζωής των εμφανίσεων μνήμης αντικειμένων και παρέχει σαφή έλεγχο καθαρισμού μνήμης, σε σχέση με την τελική εκκαθάριση μνήμης. Η απόρριψη μπορεί να χρησιμοποιηθεί ακόμα και όταν υπάρχουν άλλες εμφανίσεις αντικειμένων μνήμης, ενώ το Finalize μπορεί να χρησιμοποιηθεί μόνο αφού καταστραφεί το τελευταίο αντικείμενο μνήμης.

Οι κανόνες μεθόδου απόρριψης είναι οι εξής:

  • Χρησιμοποιείται για μη διαχειριζόμενους πόρους που απαιτούν άμεση απελευθέρωση μετά τη χρήση.
  • Εάν η επιλογή Dispose δεν καλείται, θα πρέπει να εφαρμοστεί η μέθοδος Finalize.
  • Αφού καλέσετε τη μέθοδο Dispose, πρέπει να καλέσετε τη μέθοδο GC.SuppressFinalize για να αποτρέψετε τη μέθοδο Finalize και να αποφύγετε την περιττή GC.
  • Οι εξαιρέσεις θα πρέπει να αντιμετωπιστούν προσεκτικά εάν η μέθοδος απόρριψης εφευρεθεί περισσότερες από μία φορές. Εάν οι πόροι διατίθενται, οποιαδήποτε μέθοδος εμφάνισης μπορεί να πετάξει το ObjectDisposedException.
  • Ένα αντικείμενο με μια προηγουμένως αποκαλούμενη μέθοδος απόρριψης δεν μπορεί να επαναχρησιμοποιηθεί.
  • Η απόρριψη συνιστάται μόνο για τη διαχείριση αντικειμένων εγγενών πόρων και αντικειμένων μοντέλου αντικειμένου (COM) που εκτίθενται στο .NET Framework.
  • Η διάθεση δεν μπορεί να επικαλείται ταυτόχρονα από πολλαπλά θέματα, λόγω απρόβλεπτων αποτελεσμάτων.
  • Οι τύποι τιμών δεν πρέπει να δημιουργούνται ως τύποι μιας χρήσης ή με μη διαχειριζόμενα μέλη πόρων.
  • Όταν χρησιμοποιείτε μη διαχειριζόμενους πόρους, θεωρείται ως η βέλτιστη πρακτική η εφαρμογή των πηγαίων κωδικών χρησιμοποιώντας τη δήλωση, η οποία επικαλείται αυτόματα τα αντικείμενα Dispose method μετά την ολοκλήρωση του κώδικα αντικειμένου.
Ο ορισμός αυτός γράφτηκε στο con του C #