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

时间:2010-11-05 15:30:34

标签: c#

在程序运行时尝试运行函数而不将其放在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(); 
        } 
    } 
}

5 个答案:

答案 0 :(得分:1)

在控制台应用程序中,Main()方法是应用程序的入口点。你必须把代码放在那里启动应用程序。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

Main之外,您不能使用其他方法作为应用的入口点。

对于ex,你无法从这样的函数启动程序:

public static MyMain(string[] args)
{
}

答案 3 :(得分:0)

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

查看代码我想你想要做的是在knob1控件的角度改变时改变标签的值。如果knob1是一个控件,它应该有一个change事件,你应该在knob1_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();
}

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

答案 4 :(得分:0)

这是一个相同的java代码,但我不知道在C#中是一样的。 但我认为它也可以在C#中实现。

  

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

以上代码经过测试,并在GOOGLEing时从here获得。 在C#中也可能出现类似的事情。