Модификатор класса точки входа C#
Мой вопрос о точке входа в программу на C#. Я использую VS 2010, и он автоматически создает файл Program.cs с классом программы:
class Program
{
...
static void Main(...)
...
}
У меня вопрос, почему этот класс по умолчанию является внутренним? Почему не публично? А если есть ситуации, чтобы выбрать один или другой модификатор, как понять, какой мне нужен для этого базового класса?
PS Я на самом деле программист на Java и сейчас пытаюсь изучать C#, но некоторые детали отсутствуют в книгах. Спасибо!
3 ответа
Созданная сборка является EXE-файлом. Обычно вы не добавляете ссылку на сборку EXE, что означает, что ничто, кроме классов внутри EXE, не получит доступ к Программе - что означает internal
прекрасно описывает, как это будет использоваться. До.NET 2.0 вы на самом деле не могли ссылаться и EXE, поэтому Program
являющийся public
неверно, потому что к нему можно получить доступ как к чему угодно, кроме internal
,
Обычно нет необходимости использовать первичный класс (который содержит определение метода точки входа) вне сборки, и поэтому он имеет внутренний доступ.
У каждого проекта может быть своя собственная точка входа, вы также можете указать точки входа, чтобы указать отдельному проекту выполнить другой. и IAbstract прав. Вы можете изменить с помощью статических, публичных или приватных