Eksempel 01
Før vi bruker den interne tilgangsmodifisereren, må vi først se på den "private" tilgangsmodifisereren i C# -programmering. Så vi har brukt det brukerdefinerte navneområdet som heter "New", som inneholder to klasser. Klassen “Test” inneholder Main () -funksjonen for å starte utførelsen av denne koden. Konsollen.WritLine () uttalelse i denne Main () driverfunksjonen brukes til å vise teksten “Hovedmetode for testklasse” på skjermene våre. Et objekt “OBJ” for klassen “New” er opprettet ved hjelp av klassenavnet. Klassen "nytt" inneholder et privat datamedlem "x" av heltallstype med verdien "14". Dette betyr at verdien av variabel “x” ikke kan nås ved noen annen funksjon av andre klasser, selv om de er avledet.
Main () -funksjonen er å bruke objektet “OBJ” i den nye klassen for å oppdatere verdien av det private datamedlemmet “x” av klasse “New”.e., ikke mulig akkurat nå. Etter å ha ringt showet () funksjonen med objektet “OBJ” i Main () -metoden, må utførelsen av Show () -metoden med “Public” Access Modifier finne sted. Det virker ikke slik på grunn av den private tilgangsmodifisereren med "X" -variabelen. Begge klassene er fullført, og koden er klar til bruk. Vi må lagre det først med Ctrl+S og avslutte redaktøren ved å lukke det ved hjelp av Cross -tegnet fra Text Editor.
Etter at koden er lagret, må du kompilere den ved hjelp av “MCS” C# -kompilatoren som allerede er konfigurert i Linux. Dette må-ha-trinnet viser oss at feilen har oppstått på linje 12 i vår C# -kode, i.e., Variabel “x” kan ikke nås i testklassen som definert med den private tilgangsmodifisereren. Så vi må fikse denne feilen.
Vi har åpnet C# -filen igjen i Text Editor og oppdatert koden ved å erstatte den private tilgangsmodifisereren til variabel “x” med den offentlige tilgangsmodifisereren. Vi vil ikke endre den gjenværende koden, da den ikke er nødvendig. Så vi lagret den nylig oppdaterte koden igjen.
Når vi har brukt MCS Compiler -kommandoen på skallet etterfulgt av navnet på en C# -fil, ble koden samlet vellykket. Etter det utførte vi “EXE” -filen opprettet av kompilatoren av C# på skallet, og utgangen ble vist, i.e., En verdi av “X” ble oppdatert.
Eksempel 02
Nå vil vi se på bruken av interne tilgangsmodifiserere for å definere omfanget av noen variabler i klassene til C# -kode. Så vi har satt i gang dette C# -eksemplet med tillegg av systembiblioteket og opprettet et navneområde “nytt” i det. Dette navneområdet inneholder to uavhengige klasser som heter “New” og “Test.”Klassen“ Test ”inneholder hoved () driverkodefunksjon, mens den“ nye ”klassen inneholder heltallvariabelen“ x ”, som har en verdi på 14 definert med den interne tilgangsmodifisereren og showet () -funksjonen (). Det nye klasseobjektet "OBJ" er blitt generert ved hjelp av det "nye" nøkkelordet etterfulgt av navnet på en klasse. Dette nye klasseobjektet er blitt brukt på neste linje for å oppdatere verdien av "x" -variabelen med "0".
Nå vil variabelen “X” bli oppdatert ettersom variabelen “X” er definert med en intern tilgangsmodifiserer innenfor samme navneområde -enhet “Ny.”Show () -funksjonen har blitt kalt med det samme objektet,“ OBJ.”Når showet () -funksjonen blir utført, vil den vise den oppdaterte verdien av“ X ”på skallet via konsollen.WritLine () funksjonserklæring.
Det er på tide å raskt lagre kodefilen vår med Ctrl+S og gå tilbake til terminalen igjen. Vi har kjørt “MCS” -kommandoen for C# -kodesamling for å kjøre “Internal.cs ”-fil i skallet. Denne samlingen har vært vellykket, og den kompilerte "exe" -filen for den interne.CS er opprettet i vår nåværende arbeidskatalog. Vi bruker den "exe" -filen for å kjøre den med "mono" runtime -kommandoen i skallet. Utgangen har blitt vist med hell som nedenfor. Hoved () -funksjonen blir utført først i henhold til strengen som vises, og etter det vises den oppdaterte verdien “0” for variabel “x”.
Slik fungerer en intern tilgangsmodifiserer i C# -kode når den brukes i samme navneområde. La oss gjøre endringer i koden vår for å se hvordan en intern tilgangsmodifiserer påvirker utførelsen av C# -kode når den brukes blant mer enn en samling. Du har opprettet to navneområder i samme C# -kode, i.e., Ny og test. Innenfor det nye navneområdet har vi laget en ny klasse og initialisert en variabel “X” med intern tilgangsmodifiserer med verdien 14. Den samme klassen av namespace new inneholder show () -funksjonen for å vise verdien av “x.”
På den annen side inneholder navneområdet testen en klassetest som har en hovedfunksjon (). Denne hovedfunksjonen () er å lage et objekt av klasse nytt fra det andre navneområdet, “Ny.”Det samme objektet har blitt brukt for å endre verdien av variabel“ x ”og ringe showet () -funksjonen for å vise den oppdaterte verdien til variabel“ x.”Nå er variabelen“ X ”definert i navneområdet“ New ”mens objektet prøver å få tilgang til det i det andre navneområdet“ Test.”På grunn av den interne tilgangsmodifisereren med variabel“ x ”kan vi møte en feil. La oss se det nå.
Etter å ha samlet denne koden, har vi fått feilen som forventet, jeg.e., Type beskyttet.
For å unngå denne feilen ved sammenstilling, må vi oppdatere koden som vi gjorde i koden over fra forrige kode. Så vi har fjernet navneområdet “nytt” fra koden og fjernet ikke testnavnet fra koden som vist under.
Etter kodesamling og utførelse etter denne oppdateringen, ble den utført vellykket og viste den modifiserte verdien av variabel “x” på skallet uavhengig av dens interne type.
Konklusjon
Vi er ferdige med å implementere eksemplene for den interne tilgangsmodifisereren i C#. Vi har startet denne artikkelen med eksemplet med å diskutere den private tilgangsmodifisereren for å sammenligne den med de interne tilgangsmodifikatorene, da begge gjør den samme jobben på forskjellige nivåer av programmering. Vi har prøvd å bruke den interne tilgangsmodifisereren innen samme navneområde, to forskjellige navnefelt, og ingen navneområder definert i klassen. Vi har utdypet bruken av den for å beskytte datamedlemsvariabler og funksjon i C#.