内部类的Main()方法如何在CLR的程序集外部调用?

时间:2018-08-03 11:32:47

标签: c#

如果内部类只能在同一程序集中的任何位置访问,而不能在程序集外部访问,则CLR如何调用Main()方法?

using System;

namespace  test
{
     internal class Program {
        public static void Main(String[] args){
            Console.WriteLine("Testing Internal Modifier!!");
            Console.ReadLine();
        }
    }

}

谢谢。

1 个答案:

答案 0 :(得分:2)

私有,受保护的,内部的等修饰符可以使您的代码保持整洁并帮助您减少错误。除此之外,一切仍然可以调用,这些修饰符绝不是防止CLR甚至其他代码调用您的代码的安全工具。

使用反射,您可以调用类中的每个方法,无论是私有方法,内部方法还是公共方法。您甚至可以将Main()声明为私有,它仍然是您应用程序的入口。