Почему моя программа работает, если мой метод Main в C # является закрытым? - PullRequest
3 голосов
/ 29 апреля 2011

По умолчанию модификатор типа для каждого члена класса является закрытым, даже модификатор типа функции Main () является закрытым.Как CLR вызывает метод main, который не виден внешнему миру?

Ответы [ 4 ]

7 голосов
/ 29 апреля 2011

CLR не заботится о доступности main.«Видимый внешнему миру» относится только к коду , а не к среде выполнения .

3 голосов
/ 29 апреля 2011

Попробуйте использовать ildasm в своем коде и найдите основной метод

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint // this is something the CLR is interested in
3 голосов
/ 29 апреля 2011

Это не правда.

Это должно быть публично. Например, public static void Main().

РЕДАКТИРОВАТЬ: Вот что я нашел и узнал сегодня о том, почему Main не обязательно должно быть public. http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/9184c55b-4629-4fbf-ad77-2e96eadc4d62/

1 голос
/ 29 апреля 2011

Вы правы,

помечен как точка входа.Проверьте этот вопрос: Почему метод Main закрыт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...