Modyfikatory dostępu wewnętrznego i prywatnego

Jaka jest różnica pomiędzy modyfikatorami dostępu internal i private W C#?

Author: Jim Fell, 2010-09-28

6 answers

Wewnętrzny jest dla zakresu assembly (tzn. dostępny tylko z kodu w tym samym .exe lub .dll)

Private jest dla zakresu klasy (tzn. dostępne tylko z kodu w tej samej klasie).

 457
Author: explorer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-16 06:50:17

Poniżej znajdziesz Wyjaśnienie. Możesz sprawdzić ten link, aby uzyskać więcej informacji - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html

Private: - członkowie prywatni są dostępni tylko w obrębie własnego typu (własnej klasy).

Internal: - wewnętrzne pręty są dostępne tylko wewnątrz zestawu przez dziedziczenie (jego pochodny typ) lub przez instancję klasy.

Tutaj wpisz opis obrazka

Bibliografia :

Dotnetbull-co to jest modyfikator dostępu w c #

 180
Author: Vivek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-30 17:57:51

internal członkowie są widoczni dla całego kodu w Zgromadzeniu, w którym są zadeklarowani.
(Oraz do innych zespołów odwołujących się do [InternalsVisibleTo] atrybut )

private członkowie są widoczni tylko dla klasy deklarującej. (łącznie z klasami zagnieżdżonymi)

Z (miejmy nadzieję) oczywistych powodów, zewnętrzna (nie-zagnieżdżona) klasa nie może być zadeklarowana private.

Aby odpowiedzieć na pytanie, które zapomniałeś zadać, protected członkowie są jak private Członkowie, ale są również widoczne we wszystkich klasach, które dziedziczą Typ deklarujący. (Ale tylko na wyrażeniu co najmniej typu bieżącej klasy)

 64
Author: SLaks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 14:06:06

Private - encapsulations in class/scope / struct ect".

Wewnętrzna - hermetyzacja w zespołach.

 7
Author: Yaniv Lugassy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-25 08:16:56

Private members są dostępne tylko w obrębie klasy lub struktury, w której są zadeklarowane.

Wewnętrzne typy lub członkowie są dostępne tylko w plikach w tym samym zgromadzeniu

 6
Author: Jesper Fyhr Knudsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 13:58:18

Internal pozwoli Ci odwoływać się, powiedzmy, do statycznej klasy dostępu do danych (dla bezpieczeństwa wątku) między wieloma klasami logiki biznesowej, nie subskrybując ich, aby dziedziczyć tę klasę/podróż między sobą w pulach połączeń, a ostatecznie uniknąć zezwolenia klasie DAL na promowanie dostępu na poziomie publicznym. Ma to niezliczone zaplecze w zakresie projektowania i najlepszych praktyk.

Entity Framework dobrze wykorzystuje tego typu dostęp

 3
Author: Nathan Teague,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-29 15:23:28