C# intern

C# intern
Zugriffsmodifikatoren sind ein Muss in einer objektorientierten Programmierung. Die Zugriffsmodifikatoren werden verwendet, um Ihre Daten zu schützen, indem sie sie mit den Datenmitgliedern und Mitgliedern verwenden. Diese Zugriffsmodifikatoren sind: öffentlich, privat, geschützt und intern nach Quellen. Der interne Zugriffsmodifikator funktioniert genauso wie das private Zugriffsmitglied, jedoch auf verschiedenen Programmniveaus. Der private Modifikator funktioniert auf Klassenebene, während der interne Modifikator auf Montageebene funktioniert. Heute werden wir die Verwendung interner Zugangsmodifikatoren überlegen.

Beispiel 01

Bevor wir den internen Zugriffsmodifikator verwenden, müssen wir uns zunächst den "privaten" Zugriffsmodifikator in der C# -Programmierung ansehen. Wir haben also den benutzerdefinierten Namespace mit dem Namen "New" mit zwei Klassen verwendet. Die Klasse „Test“ enthält die Funktion main (), um die Ausführung dieses Codes zu starten. Die Konsole.WriteLine () Anweisung In dieser Main () -Treiberfunktion wird der Text „Hauptmethode der Testklasse“ auf unseren Bildschirmen angezeigt. Ein Objekt "OBJ" für die Klasse "Neu" wurde unter Verwendung des Klassennamens erstellt. Die Klasse „Neu“ enthält ein privates Datenmitglied „X“ mit dem Ganzzahl -Typ mit dem Wert „14“. Dies bedeutet, dass auf den Wert der Variablen „x“ nicht von einer anderen Funktion anderer Klassen zugegriffen werden kann, selbst wenn sie abgeleitet sind.

Die Funktion main () verwendet das Objekt "OBJ" der neuen Klasse, um den Wert des privaten Datenmitglieds "x" der Klasse "neu" zu aktualisieren, I, I.e., Im Moment nicht möglich. Nach dem Aufrufen der Funktion "show () mit dem Objekt" OBJ "in der Main () -Methode muss die Ausführung der Show () -Methode mit dem" öffentlichen "Zugriffsmodifikator stattfinden. Es scheint das nicht zu sein, weil der private Zugriffsmodifikator mit der "X" -Variable. Beide Klassen sind abgeschlossen und der Code ist zur Verwendung bereit. Wir müssen es zuerst mit Strg+S speichern und den Editor beenden, indem wir ihn mit dem Kreuzzeichen aus dem Texteditor schließen.

Nachdem der Code gespeichert wurde, müssen Sie ihn mit dem bereits unter Linux konfigurierten "MCS" C# Compiler kompilieren. Dieser Must-Have-Schritt zeigt uns, dass der Fehler in Zeile 12 unseres C# Code aufgetreten ist.e., Variable „X“ kann innerhalb der Testklasse nicht zugegriffen werden, wie mit dem privaten Zugriffsmodifikator definiert. Wir müssen diesen Fehler also beheben.

Wir haben die C# -Datei im Texteditor erneut geöffnet und den Code aktualisiert, indem wir den privaten Zugriffsmodifikator der Variablen „X“ durch den öffentlichen Zugriffsmodifikator ersetzt haben. Wir werden den verbleibenden Code nicht ändern, da er nicht erforderlich ist. Also haben wir den neu aktualisierten Code noch einmal gespeichert.

Wenn wir den Befehl mcs Compiler auf der Shell verwendet haben, gefolgt vom Namen einer C# -Datei, wurde der Code erfolgreich zusammengestellt. Danach haben wir die vom Compiler von C# auf der Shell erstellte "exe" -Datei ausgeführt, und die Ausgabe wurde angezeigt, ich.e., Ein Wert von „X“ wurde aktualisiert.

Beispiel 02

Jetzt werden wir uns die Verwendung interner Zugriffsmodifikatoren ansehen, um den Umfang einiger Variablen in den Klassen von C# Code zu definieren. Wir haben dieses C# -Beispiel mit der Hinzufügung der Systembibliothek initiiert und einen Namespace „neu“ erstellt. Dieser Namespace enthält zwei unabhängige Klassen mit dem Namen "New" und "Test."Die Klasse" Test "enthält die Funktion main () Treibercode, während die" neue "Klasse die Ganzzahlvariable" x "enthält, die einen Wert von 14 mit dem internen Zugriffsmodifikator und der Funktion show () mit definiert ist. Das neue Klassenobjekt „OBJ“ ​​wurde mit dem Schlüsselwort „Neu“ generiert, gefolgt vom Namen einer Klasse. Dieses neue Klassenobjekt wurde in der nächsten Zeile verwendet, um den Wert der "x" -Variablen durch "0" zu aktualisieren.

Jetzt wird die Variable „X“ erfolgreich aktualisiert, da die Variable „X“ mit einem internen Zugriffsmodifikator in derselben Namespace -Montage „neu“ definiert ist.Die Funktion show () wurde mit demselben Objekt „OBJ“ ​​aufgerufen.Wenn die Funktion show () ausgeführt wird, wird der aktualisierte Wert von „X“ in der Shell über die Konsole angezeigt.WriteLine () Funktionserklärung.

Es ist Zeit, unsere Codedatei schnell mit Strg+S zu speichern und wieder zum Terminal zurückzukehren. Wir haben den Befehl "mcs" für die C# -Codemacherkennung ausgeführt, um das „interne“ auszuführen.CS ”-Datei in der Shell. Diese Zusammenstellung war erfolgreich und die kompilierte "exe" -Datei für die interne.CS wurde in unserem aktuellen Arbeitsverzeichnis erstellt. Wir verwenden diese "EXE" -Datei, um sie mit dem Befehl "mono" im Shell auszuführen. Die Ausgabe wurde erfolgreich wie unten angezeigt. Die Funktion main () wird zuerst gemäß der angezeigten Zeichenfolge ausgeführt, und danach wird der aktualisierte Wert "0" der Variablen "x" erfolgreich angezeigt.

Auf diese Weise funktioniert ein interner Zugriffsmodifikator in C# Code, wenn sie im gleichen Namespace verwendet werden. Nehmen wir Änderungen an unserem Code vor, um festzustellen. Sie haben zwei Namespaces in Ihrem gleichen C# Code erstellt, ich.e., Neu und Test. Innerhalb des neuen Namespace haben wir eine Klasse neu erstellt und eine variable „x“ des internen Zugriffsmodifikators mit dem Wert 14 initialisiert. Die gleiche Klasse von Namespace New enthält die Funktion show (), um den Wert von „x) anzuzeigen.”

Andererseits enthält der Namespace -Test einen Klassentest mit einer Main () -Funktion. Diese Funktion main () erstellt ein Objekt der Klasse, das aus dem anderen Namespace neu ist, „Neu“.Das gleiche Objekt wurde verwendet, um den Wert der Variablen „x“ zu ändern und die Funktion show () aufzurufen, um den aktualisierten Wert der Variablen „x) anzuzeigen."Jetzt ist die Variable" x "im Namespace" neu "definiert, während das Objekt versucht, im anderen Namespace" Test darauf zuzugreifen "."Aufgrund des internen Zugriffsmodifikators mit variabler" x "können wir auf einen Fehler stoßen. Mal sehen, das jetzt sehen.

Nachdem wir diesen Code zusammengestellt haben, haben wir den Fehler wie erwartet, ich.e., Typ geschützt.

Um diesen Fehler bei der Kompilierung zu vermeiden, müssen wir den Code wie im obigen Code aus dem letzten Code aktualisieren. Wir haben also den Namespace "neu" aus dem Code entfernt und den Test -Namespace nicht aus dem Code entfernt, wie darunter gezeigt.

Nachdem die Codekompilierung und -ausführung nach diesem Update erfolgreich ausgeführt wurde und den geänderten Wert der Variablen „x“ auf der Shell unabhängig von seinem internen Typ angezeigt wurde.

Abschluss

Wir sind fertig damit, die Beispiele für den internen Zugriffsmodifikator in C# implementieren zu können. Wir haben diesen Artikel mit dem Beispiel gestartet, um den privaten Zugriffsmodifikator zu diskutieren, um ihn mit den internen Zugriffsmodifikatoren zu vergleichen, wie beide dieselbe Aufgabe auf verschiedenen Programmniveaus erledigen. Wir haben versucht, den internen Zugriffsmodifikator im gleichen Namenspace, zwei verschiedene Namespaces und keinen Namespace in der Klasse zu verwenden. Wir haben seine Verwendung zum Schutz von Datenmitgliedvariablen und Funktionen in C# ausgearbeitet.