Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει το Μη προσβάσιμο Μέλος;
Ένα μη προσβάσιμο μέλος, στο πλαίσιο του C #, είναι μέλος που δεν μπορεί να προσεγγιστεί από συγκεκριμένο τύπο. Ένα μη προσβάσιμο μέλος στο οποίο δεν είναι δυνατή η πρόσβαση από έναν τύπο μπορεί να είναι προσβάσιμο από έναν άλλο τύπο.
Ένα μη προσβάσιμο μέλος μπορεί να αποκτήσει το επίπεδο προσβασιμότητας που ελέγχει τη χρήση του από άλλο κώδικα στο συγκρότημα στο οποίο δηλώνεται ή από άλλες συναρμολογήσεις.
Ένα μέλος ενός τύπου έχει σχεδιαστεί ώστε να είναι απρόσιτο από ορισμένους τύπους για το σκοπό της εγκαψούλωσης. Η ενθυλάκωση των δεδομένων βοηθά στην προστασία δεδομένων μέσα στο αντικείμενο από τυχαία διαφθορά καθώς και στην απόκρυψη περιττών λεπτομερειών υλοποίησης από το χρήστη του αντικειμένου.
Η Techopedia εξηγεί το Μη προσβάσιμο μέλος
Η προσβασιμότητα ενός μέλους ενός τύπου καθορίζεται από τον τύπο στον οποίο κατοικεί και από τον τροποποιητή πρόσβασης που καθορίζεται σε αυτό κατά τη δήλωσή του. Ακολουθούν οι τροποποιητές πρόσβασης που χρησιμοποιούνται για τον προσδιορισμό της προσβασιμότητας:
- Κοινό: Πρόσβαση τόσο στην τρέχουσα συναρμολόγηση όσο και σε μια εξωτερική συναρμολόγηση που την αναφέρει.
- Ιδιωτικός: Η πρόσβαση περιορίζεται στον τύπο που περιέχει.
- Προστασία: Η πρόσβαση περιορίζεται στην κλάση ή τύπους που προέρχονται από τον τύπο που περιέχει.
- Εσωτερικό: Η πρόσβαση περιορίζεται μόνο στην τρέχουσα συναρμολόγηση.
- Προστατευμένη εσωτερική: Η πρόσβαση περιορίζεται στην τρέχουσα συναρμολόγηση ή στους τύπους που προέρχονται από την κλάση που περιέχει.
Για παράδειγμα, ένας τύπος μπορεί να δηλωθεί με μια μέθοδο που έχει έναν προστατευμένο τροποποιητή έτσι ώστε να είναι απρόσιτος εκτός της κλάσης αλλά να είναι προσβάσιμος στις κλάσεις που παράγονται.
Όλοι οι τροποποιητές πρόσβασης δεν μπορούν να χρησιμοποιηθούν σε όλα τα περιβάλλοντα από όλους τους τύπους. Όταν ένα μέλος ενός τύπου δεν περιλαμβάνει έναν τροποποιητή πρόσβασης κατά τη δήλωσή του, η προεπιλεγμένη προσβασιμότητά του είναι ιδιωτική.
Σύμφωνα με τον περιορισμό προσβασιμότητας στο C #, μερικά κατασκευάσματα απαιτούν έναν τύπο που να είναι τουλάχιστον τόσο προσιτός όσο ένα μέλος ή άλλος τύπος. Επιπλέον, αν το μέλος είναι μια μέθοδος, ένας πληρεξούσιος ή ένας ευρετηριακός, ο τύπος επιστροφής και οι τύποι παραμέτρων πρέπει να είναι τουλάχιστον εξίσου προσβάσιμοι με το ίδιο το μέλος. Η χρήση ενός μη προσβάσιμου μέλους θα οδηγήσει σε σφάλμα χρόνου μεταγλώττισης.
