wake-up-neo.com

Interne und private Zugriffsmodifikatoren

Was ist der Unterschied zwischen den Zugriffsmodifikatoren internal und private in C #?

373
Jim Fell

intern ist für den Assembly-Bereich (d. h. nur über Code in derselben EXE- oder DLL-Datei zugänglich)

privat ist für den Klassenbereich (d. h. nur über Code in derselben Klasse zugänglich).

493
explorer

Hier finden Sie eine Erklärung. Sie können diesen Link für weitere Details überprüfen - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html

Private: - Private Mitglieder sind nur innerhalb des eigenen Typs (Eigene Klasse) zugänglich.

Intern: - Auf interne Member kann nur innerhalb der Assembly durch Vererbung (ihren abgeleiteten Typ) oder durch Klasseninstanz zugegriffen werden.

enter image description here

Hinweis:

dotnetbull - was ist Zugriffsmodifikator in c #

197
Vivek

internal -Mitglieder sind für den gesamten Code in der Assembly sichtbar, in der sie deklariert sind.
(Und auf andere Assemblys, auf die mit dem Befehl [InternalsVisibleTo] Attribut )

private -Mitglieder sind nur für die deklarierende Klasse sichtbar. (einschließlich verschachtelter Klassen)

Eine äußere (nicht verschachtelte) Klasse kann nicht als private deklariert werden, da es keinen enthaltenden Bereich gibt, in den sie privat gemacht werden kann.

Um die Frage zu beantworten, die Sie vergessen haben, sind protected -Mitglieder wie private -Mitglieder, aber auch in allen Klassen sichtbar, die den deklarierenden Typ erben. (Aber nur auf einen Ausdruck von mindestens dem Typ der aktuellen Klasse)

67
SLaks

Private Mitglieder sind nur im Hauptteil der Klasse oder der Struktur zugänglich, in der sie deklariert sind.

Intern Auf Typen oder Elemente kann nur in Dateien in derselben Assembly zugegriffen werden

6

privat - Kapselungen in Klasse/Umfang/Struktur '.

intern - Kapselung in Baugruppen.

6
Yaniv Lugassy

Internal ermöglicht es Ihnen, beispielsweise eine statische Datenzugriffsklasse (aus Gründen der Threadsicherheit) zwischen mehreren Geschäftslogikklassen zu referenzieren, ohne sie zu abonnieren, um diese Klasse/diesen Trip in Verbindungspools übereinander zu erben, und um letztendlich zu vermeiden, dass eine DAL-Klasse zugelassen wird Förderung des Zugangs auf öffentlicher Ebene. Dies hat unzählige Gründe für Design und Best Practices.

Entity Framework nutzt diese Art des Zugriffs gut

3
Nathan Teague