c# -从静态main调用函数



我的问题可能是非常基本的,但我没有找到答案…

我写了一个函数(公共checkSomething得到2个字符串)在program.cs当我试图从静态main调用这个函数时我得到了这个错误:

"非静态字段、方法或property 'checkSomething(string,string)' ".

然而,当我将main改为Public(而不是static)时,没有错误。为什么会这样呢?有静态main还是没有更好?这有什么关系呢?

谢谢!

这里的问题不是关于静态函数,而是具体地说,为什么mainC#应用程序中是静态的。

这与主应用程序只有一个线程有关。这是在main函数上使用[STAThread]属性时定义的。执行线程只进入main函数一次,不需要Program类的实例。

然后,静态main函数可以实例化正常操作所需的任何类。这些通常是表单或工人类之类的东西。

程序或者在主线程中进入一个消息循环来处理一个可见的形式,或者程序终止。

当您删除main的静态引用时,项目的build optionsstartup function切换到startup object,并且在main被调用之前创建类的实例。

这是个人喜好的问题,但请记住,在启动期间只执行一个main。

主方法应该是静态的,所以你不能从静态方法调用非静态方法。

change checkSomething to static.

如果main方法不是静态的,那么我们需要创建实例来调用main方法。要再次创建instant,我们需要执行一些代码!这就是为什么我认为Main的起点是静态的

相关内容

  • 没有找到相关文章

最新更新