Внутренние и частные модификаторы доступа

В чем разница между модификаторами доступа internal и private в С#?

+303
источник поделиться
6 ответов

внутренний предназначен для области сборки (т.е. доступен только из кода в том же .exe или .dll)

private предназначен для класса (т.е. доступен только из кода в том же классе).

+408
источник

Найдите объяснение ниже. Вы можете проверить эту ссылку для получения более подробной информации - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html

Частный:. Частные члены доступны только в собственном типе (собственный класс).

Внутренний:. Внутренний член доступен только в сборке по наследованию (его производному типу) или экземпляру класса.

enter image description here

Ссылка:

dotnetbull - что такое модификатор доступа в С#

+155
источник
другие ответы

Связанные вопросы


Похожие вопросы

Члены

internal видны для всего кода в сборке, в которой они объявлены.
(И к другим сборкам, на которые ссылается с помощью атрибута [InternalsVisibleTo])

Члены

private видны только объявляющему классу. (включая вложенные классы)

Для (по-видимому) очевидных причин, внешний (не вложенный) класс не может быть объявлен private.

Чтобы ответить на вопрос, который вы забыли спросить, члены protected похожи на члены private, но также видны во всех классах, наследующих тип объявления. (Но только при выражении, по крайней мере, типа текущего класса)

+62
источник

private - инкапсуляции в классе/области/структуре ect '.

внутренний - инкапсуляция в сборках.

+7
источник

Частные члены доступны только внутри тела класса или структуры, в которой они объявлены.

Внутренние типы или члены доступны только внутри файлов в одной сборке

+5
источник

Внутренний язык позволит вам ссылаться, например, на статический класс доступа к данным (для обеспечения безопасности потоков) между несколькими классами бизнес-логики, не подписываясь на них, чтобы наследовать этот класс/путешествие друг над другом в пулах соединений и в конечном итоге избежать класс DAL для содействия доступу на общественном уровне. Это бесчисленное количество оснований в дизайне и лучших практиках.

Entity Framework хорошо использует этот тип доступа

+3
источник

Посмотрите другие вопросы по меткам или Задайте вопрос