I C#, hva er forskjellen mellom offentlig, privat, beskyttet og uten tilgangsmodifikator?

Jeg har brukt offentlig hele studietiden, og vil gjerne vite forskjellen mellom offentlig, privat og beskyttet?

Også hva gjør statisk i motsetning til å ikke ha noe?

Hmm.

Se her: Access Modifiers.

I et nøtteskall:

Offentlig gir metoden eller typen full synlighet fra andre typer/klasser.

Private gir bare typen som inneholder den private metoden/variabelen tilgang til den private metoden/variabelen (merk at nestede klasser også har tilgang til de inneholdende klassenes private metoder/variabler).

Protected ligner på private, bortsett fra at avledede klasser også kan få tilgang til beskyttede metoder.

" Ingenting " er VB.NET&# 39s ekvivalent til null. Selv om du refererer til "ingenting" som betyr "ingen tilgangsmodifikator", avhenger det, selv om en veldig grov tommelfingerregel (absolutt i C #) er at hvis du ikke eksplisitt spesifiserer en tilgangsmodifikator, er metoden / variabeldeklarasjonen vanligvis så begrenset som den kan være. dvs.

public class MyClass
{
    string s = "";
}

er effektivt det samme som:

public class MyClass
{
    private string s = "";
}

Den koblede MSDN-artikkelen vil gi en fullstendig beskrivelse når det ikke er spesifisert noen tilgangsmodifikator eksplisitt.

Kommentarer (0)

mmm...

Statisk betyr at du kan få tilgang til funksjonen uten å ha en forekomst av klassen.

Du kan få tilgang direkte fra klassedefinisjonen.

Kommentarer (0)

Disse tilgangsmodifikatorene angir hvor medlemmene dine er synlige. Du bør sannsynligvis lese dette opp. Ta utgangspunkt i lenken gitt av IainMH.

Statiske medlemmer er ett per klasse og ikke ett per instans.

Kommentarer (0)