Standaard zichtbaarheid voor C#-klassen en leden (velden, methoden, enz.)?

Ik probeer een referentie te vinden voor de standaardzichtbaarheid van verschillende aspecten van C#. Klassetypen, velden, methoden, opsommingen, enz.

Kan iemand hier een lijst van geven, samen met hun standaard zichtbaarheid (d.w.z. geen modifier met prefix)?


Antwoord 1, autoriteit 100%

Alle informatie die u zoekt, vindt u hieren hier(bedankt Reed Copsey):

Van de eerste link:

Klassen en structsdie direct binnen een naamruimte worden gedeclareerd (met andere woorden, die niet zijn genest in andere klassen of structs) kunnen openbaar of intern zijn. Intern is de standaardinstelling als er geen toegangsmodifier is opgegeven.

Het toegangsniveau voor klasseleden en structleden, inclusief geneste klassen en structs, is standaard privé.

interfacesstandaard ingesteld op internetoegang.

Afgevaardigdengedragen zich als klassen en structs. Standaard hebben ze interne toegang wanneer ze rechtstreeks in een naamruimte worden gedeclareerd, en privétoegang wanneer ze genest zijn.


Van de tweede link:

Typen op het hoogste niveau, die niet in andere typen zijn genest, kunnen alleen intern of openbaar toegankelijk zijn. De standaard toegankelijkheid voor deze typen is intern.

En voor geneste typen:

Leden van standaard toegankelijkheid voor leden
---------- ----------------------------
opsomming openbaar
klas privé
interface publiek
privé structureren

Antwoord 2, autoriteit 6%

Van MSDN:

Typen op het hoogste niveau, die niet in andere typen zijn genest, kunnen alleen internalof publictoegankelijkheid hebben. De standaardtoegankelijkheid voor deze typen is internal.


Geneste typen, die lid zijn van andere typen, kunnen gedeclareerde toegankelijkheid hebben zoals aangegeven in de volgende tabel.

Standaard geneste toegankelijkheid voor leden en toegestane toegankelijkheidsmodificaties

Bron: Toegankelijkheidsniveaus ( C#-referentie)(6 decemberde, 2017)


Antwoord 3, autoriteit 3%

Standaard is de toegangsmodifier voor een klasse internal. Dat betekent dat een klasse toegankelijk is binnen dezelfde assembly. Maar als we willen dat de klasse toegankelijk is vanuit andere vergaderingen, moet deze openbaar worden gemaakt.


Antwoord 4

Standaard is private. Tenzij ze genest zijn, zijn klassen internal.

Other episodes