请考虑以下代码:
class Program
{
static void Main(string[] args)
{
new Program().Run(args);
}
void Run(string[] args)
{
...
}
...
}
现在这正如我所期望的那样,当然我看不出任何明显的错误,但本能地这段代码让我担心。所以我有三个问题:
答案 0 :(得分:3)
是的,这是有效的代码并按照您的预期执行。
Main只是一种静态方法。事实上它是入口点,只是意味着CLR在启动时调用它。在静态方法中实例化一个类并在其上调用方法是完全有效的。
答案 1 :(得分:1)
是的,是的,是的。我不明白为什么它会给任何人带来麻烦。
像Main()
这样的入口点与构造函数不同,加上它是静态的。运行时,类已完全定义,所有静态成员都可用,并且可以毫无问题地创建实例。