Разница между internal и public в c#

286
17 мая 2017, 05:16

Может вопрос и глупый но хочу разобраться досконально. Читаю msdn, цитата :

Модификатор internal делает класс, интерфейс или член видимым только в текущем пакете. Код за пределами текущего пакета не может получить доступ к членам с модификатором internal.

Сразу вопрос что понимается под словом пакет?

Далее:

В глобальной области действия модификатор internal эквивалентен модификатору public.

Тогда зачем нужны internal если public ему эквивалентен ? Поясните разницу.

Answer 1

Пакет в данном случае обозначает сборку (Assembly). Грубо говоря - это ваш проект. Т.е. класс, помеченный этим модификатором будет виден из кода сборки (из файлов, относящихся к одному проекту и тому же пространству имён - .csproj). Кроме того, согласно комментарию @andreycha такой класс будет виден для всех дружественных сборок (friendly assemblies).

READ ALSO
База данных. C# Winforms

База данных. C# Winforms

ЗдравствуйтеЯ создаю приложения для учет расходов

626
Работа с Excel средствами C#

Работа с Excel средствами C#

В Excel есть плагин "Поиск решений"Подскажите пожалуйста можно ли программно использовать его

381
Диспетчер задач Пользователи

Диспетчер задач Пользователи

Как в c# получить список пользователей работающих сейчас на компьютере с их состоянием (активен, отключен)

522