繁体   English   中英

如何在没有C sharp的Main功能的情况下调用函数?

[英]How do I call a function without the Main function in C sharp?

试图在运行程序时运行函数而不将其放在Main()中。 如何启动新创建的功能? 试图在Main()中调用RunMix()但由于lable1而得到错误

namespace mixer 
{ 
    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 

        int i = 0; 

        public void RunMix() 
        { 
            while (i == 0) 
            { 
                label1.Text = knob1.Angle.ToString(); 
                Application.DoEvents(); 
            } 
        } 

        private void Form1_Load(object sender, EventArgs e) 
        { 
            RunMix(); 
        } 
    } 
}

在控制台应用程序中,Main()方法是应用程序的入口点。 您必须输入代码才能在其中启动应用程序。

如果您只想测试该功能,可以使用NUNIT或微软单元测试框架。 否则你必须从Main()调用该函数。

除了Main之外,您不能再有其他方法作为应用程序的入口点。

例如,您不能从如下函数启动程序:

public static MyMain(string[] args)
{
}

好吧,由于你的神秘问题,我的第一个答案完全脱离了主题。 既然你已经更新了它,我会更好 - 不完整 - 了解你的意思。

查看代码我猜你要做的是在knob1控件的角度改变时改变标签的值。 如果结节1是控件,则它应具有更改事件,并且应在结结1_change事件处理程序中更改label1的值。 如果knob1没有任何事件 - 极不可能 - 那么你应该使用计时器。 在你的情况下,循环只是一个坏主意。 计时器应该像这样工作

Timer timer = new Timer();
public void RunMix(object sender, EventArgs e)
{
  label1.Text = knob1.Angle.ToString();            
}

private void Form1_Load(object sender, EventArgs e)
{
  timer.Interval = 100;
  timer.Tick += new EventHandler(RunMix);
  timer.Start();
}

表格关闭时停止计时器或根据您的要求使用激活/停用循环。

这是相同的Java代码,但我在C#中不知道相同。 但我认为它也可能在C#中实现。

class staticEx {静态{System.out.println(“ Inside Static Block”); System.exit(0); }}

上面的代码已经过测试,并在GOOGLEing时从此处获取。 在C#中也可能存在类似的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM