В чем разница между модификаторами доступа internal
и private
в С#?
Внутренние и частные модификаторы доступа
Ответ 1
внутренний предназначен для области сборки (т.е. доступен только из кода в том же .exe или .dll)
private предназначен для класса (т.е. доступен только из кода в том же классе).
Ответ 2
Найдите объяснение ниже. Вы можете проверить эту ссылку для получения более подробной информации - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
Частный:. Частные члены доступны только в собственном типе (собственный класс).
Внутренний:. Внутренний член доступен только в сборке по наследованию (его производному типу) или экземпляру класса.
Ссылка:
dotnetbull - что такое модификатор доступа в С#
Ответ 3
Члены internal
видны для всего кода в сборке, в которой они объявлены.
(И к другим сборкам, на которые ссылается с помощью атрибута [InternalsVisibleTo]
)
private
видны только объявляющему классу. (включая вложенные классы)
Для (по-видимому) очевидных причин, внешний (не вложенный) класс не может быть объявлен private
.
Чтобы ответить на вопрос, который вы забыли спросить, члены protected
похожи на члены private
, но также видны во всех классах, наследующих тип объявления. (Но только при выражении, по крайней мере, типа текущего класса)
Ответ 4
private - инкапсуляции в классе/области/структуре ect '.
внутренний - инкапсуляция в сборках.
Ответ 5
Частные члены доступны только внутри тела класса или структуры, в которой они объявлены.
Внутренние типы или члены доступны только внутри файлов в одной сборке
Ответ 6
Внутренний язык позволит вам ссылаться, например, на статический класс доступа к данным (для обеспечения безопасности потоков) между несколькими классами бизнес-логики, не подписываясь на них, чтобы наследовать этот класс/путешествие друг над другом в пулах соединений и в конечном итоге избежать класс DAL для содействия доступу на общественном уровне. Это бесчисленное количество оснований в дизайне и лучших практиках.
Entity Framework хорошо использует этот тип доступа