Модификатор класса точки входа 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 прав. Вы можете изменить с помощью статических, публичных или приватных

Другие вопросы по тегам