2016-06-30 5 views
1

Внутренние типы или члены доступны только внутри файлов в одной и той же сборки,Что включает сборка при использовании внутреннего в качестве модификатора доступа?

Я боюсь, что я не знаю точно, что это сборка означает в C#.

Не могли бы вы объяснить, что это определение при определении члена как внутреннего?

+0

https://www.google.com.au/search?q=.NET+assembly – Enigmativity

ответ

2

Каждый проект (.csproj файл) в решении (.sln файл) будет производить сборку. (Каждый файл .exe или .dll файл считается сборка)

Когда член internal оно рассматривается как public для всех других классов в одном проекте, но он рассматривается как private для всех классов за пределами проекта.

+0

В каких случаях мне нужно использовать публичный член в другой программе? –

+1

@MohamedAhmed, если вы хотите, чтобы другие проекты могли вызвать ваш код. Например, вы создаете DLL для использования другими людьми, все функции, которые могут вызвать пользователи, должны быть общедоступными. –

3

Сборка равна .DLL или .EXE, созданной всеми модулями (файлами) компиляции, включенными в проект, который создает указанную сборку.

Поэтому, когда класс или член класса отмечен internal, то это означает, что он доступен только по коду, включенному в эту сборку.

+0

Ассембли также могут быть динамически созданы без сохранения DLL или исполняемого файла, см. Https://stackoverflow.com/questions/2394699/нетто-динамическая-сборка. –