C # Namespaces (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για το Namespaces, πώς να το ορίσουμε, να αποκτήσουμε πρόσβαση στα μέλη του και να το χρησιμοποιήσουμε σε ένα πρόγραμμα C #.

Τα Namespaces χρησιμοποιούνται στο C # για να οργανώσουν και να παρέχουν ένα επίπεδο διαχωρισμού των κωδικών. Μπορούν να θεωρηθούν ως κοντέινερ που αποτελείται από άλλους χώρους ονομάτων, τάξεις κ.λπ.

Ένας χώρος ονομάτων μπορεί να έχει τους ακόλουθους τύπους ως μέλη του:

  1. Χώροι ονομάτων (ένθετος χώρος ονομάτων)
  2. Μαθήματα
  3. Διεπαφές
  4. Δομές
  5. Εκπρόσωποι

Θα συζητήσουμε για αυτά τα θέματα σε επόμενα σεμινάρια. Προς το παρόν θα παραμείνουμε σε τάξεις και χώρους ονομάτων.

Οι χώροι ονομάτων δεν είναι υποχρεωτικοί σε ένα πρόγραμμα C #, αλλά παίζουν σημαντικό ρόλο στη σύνταξη καθαρότερων κωδικών και στη διαχείριση μεγαλύτερων έργων.

Ας καταλάβουμε την έννοια του χώρου ονομάτων με ένα σενάριο πραγματικής ζωής. Έχουμε μεγάλο αριθμό αρχείων και φακέλων στον υπολογιστή μας. Φανταστείτε πόσο δύσκολο θα ήταν να τα διαχειριστείτε εάν τοποθετηθούν σε έναν μόνο κατάλογο. Γι 'αυτό βάζουμε σχετικά αρχεία και φακέλους σε ξεχωριστό κατάλογο. Αυτό μας βοηθά να διαχειριστούμε σωστά τα δεδομένα μας.

Η έννοια του χώρου ονομάτων είναι παρόμοια στο C #. Μας βοηθά να οργανώσουμε διαφορετικά μέλη τοποθετώντας τα σχετικά μέλη στον ίδιο χώρο ονομάτων.

Το Namespace επιλύει επίσης το πρόβλημα της ονομασίας διένεξης . Δύο ή περισσότερες κατηγορίες όταν τοποθετούνται σε διαφορετικούς χώρους ονομάτων μπορούν να έχουν το ίδιο όνομα.

Ορισμός χώρου ονομάτων σε C #

Μπορούμε να ορίσουμε ένα χώρο ονομάτων στο C # χρησιμοποιώντας τη λέξη-κλειδί χώρου ονομάτων ως:

 namespace Namespace-Name (// σώμα χώρου ονομάτων) 

Για παράδειγμα:

 namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) ) 

Στο παραπάνω παράδειγμα, δημιουργείται ένας MyNamespaceχώρος ονομάτων . Αποτελείται από μια τάξη MyClassως μέλος της. MyMethodείναι μια μέθοδος τάξης MyClass.

Πρόσβαση στα μέλη του Namespace στο C #

Μπορείτε να έχετε πρόσβαση στα μέλη ενός χώρου ονομάτων χρησιμοποιώντας τον dot(.)χειριστή. Η σύνταξη για την πρόσβαση στο μέλος του namespace είναι,

 Namespace-Name.Member-Name

Για παράδειγμα, εάν χρειαστεί να δημιουργήσουμε ένα αντικείμενο του MyClass, μπορεί να γίνει όπως,

 MyNamespace.MyClass myClass = νέο MyNamespace.MyClass ();

Θα συζητήσουμε για τη δημιουργία αντικειμένων σε μεταγενέστερα σεμινάρια. Προς το παρόν απλώς εστιάστε στον τρόπο πρόσβασης στην τάξη MyClass.

Παράδειγμα 1: Εισαγωγή χώρου ονομάτων στο πρόγραμμα C #

 using System; namespace MyNamespace ( public class SampleClass ( public static void myMethod() ( Console.WriteLine("Creating my namespace"); ) ) ) namespace MyProgram ( public class MyClass ( public static void Main() ( MyNamespace.SampleClass.myMethod(); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 Δημιουργία του χώρου ονομάτων μου

Στο παραπάνω πρόγραμμα, έχουμε δημιουργήσει το δικό μας χώρο ονομάτων MyNamespaceκαι έχουμε πρόσβαση στα μέλη του από τη Main()μέθοδο μέσα MyClass. Όπως ειπώθηκε νωρίτερα, ο dot (.)χειριστής χρησιμοποιείται για πρόσβαση στο μέλος του χώρου ονομάτων.

Στη Main()μέθοδο, η myMethod()μέθοδος καλείται χρησιμοποιώντας τον dot (.)τελεστή.

Χρήση χώρου ονομάτων στο C # (Η λέξη-κλειδί που χρησιμοποιεί)

Ένας χώρος ονομάτων μπορεί να συμπεριληφθεί σε ένα πρόγραμμα χρησιμοποιώντας τη λέξη-κλειδί που χρησιμοποιεί. Η σύνταξη είναι,

 χρησιμοποιώντας το Namespace-Name;

Για παράδειγμα,

 χρησιμοποιώντας το Σύστημα;

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

Μόλις η γραμμή

 χρησιμοποιώντας το Σύστημα;

περιλαμβάνεται στην κορυφή του προγράμματος. Μπορούμε να γράψουμε

 Console.WriteLine ("Hello World!");

Αντί για το πλήρως αναγνωρισμένο όνομα, δηλαδή

 System.Console.WriteLine ("Hello World!");

Ένθετο χώρο ονομάτων σε C #

Ένας χώρος ονομάτων μπορεί να περιέχει έναν άλλο χώρο ονομάτων. Ονομάζεται ένθετο χώρο ονομάτων. Μπορείτε επίσης να αποκτήσετε πρόσβαση στον ένθετο χώρο ονομάτων και στα μέλη του χρησιμοποιώντας τον dot (.)χειριστή.

Η σύνταξη για τη δημιουργία ένθετου χώρου ονομάτων έχει ως εξής:

 namespace MyNamespace (namespace NestedNamespace (// σώμα ένθετου χώρου ονομάτων)) 

Παράδειγμα 2: Περιορισμένος χώρος ονομάτων σε C #

 using System; // Nested Namespace namespace MyNamespace ( namespace Nested ( public class SampleClass ( public static void myMethod() ( Console.WriteLine("Nested Namespace Example"); ) ) ) ) namespace MyProgram ( public class MyClass ( public static void Main() ( MyNamespace.Nested.SampleClass.myMethod(); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 Παράδειγμα ένθετου χώρου ονομάτων

Αυτό το παράδειγμα δείχνει πώς μπορεί να εφαρμοστεί το ένθετο χώρο ονομάτων στο C #.

Εδώ, έχουμε πλέον έναν επιπλέον χώρο ονομάτων που MyNamespaceονομάζεται Nested. Έτσι, αντί να το χρησιμοποιήσουμε MyNamespace.SampleClass.myMethod(), πρέπει να το χρησιμοποιήσουμε MyNamespace.Nested.SampleClass.myMethod().

ενδιαφέροντα άρθρα...