如何从winform中调用一个类?

时间:2016-07-11 08:47:19

标签: c# winforms console

抱歉,我故意使用这个标题。我对c#很陌生,而且我无法按照通常的方式打电话给我的班级。

我有一个winform,我想插入一个类(从API复制和粘贴),然后从我的winform中调用它。

这个课程是打开控制台,询问参数然后午餐EMG的一个程序。

班级就是这样:

  class Program1     
        {
            static void Main(string[] args)
            { 
// some code here, with  a lot of "Console.Writeline"
            }
        }

工作正常。

我将其更改为:

  public class Program1     
            {
               public void method1(string[] args)
                { 
//some code here, , with  a lot of "Console.Writeline"
                }
            }

我试着在我的表格上打电话

 private void button1_Click(object sender, EventArgs e)
        {
            Program1 program = new Program1();
            program.method1();
        }

它说“方法'没有重载'method1'需要0个参数”。 我不明白的是,当我单独运行API程序时,它不会问我任何它只是运行。

我很确定错误来自Console.WriteLineConsole.Readline,但我不知道如何解决我的问题。 我想在我的winform上按一个按钮来运行我的课程,打开控制台并在控制台上向我询问我想要的参数。

谢谢!

1 个答案:

答案 0 :(得分:2)

方法重载是OOP中的一项功能。它允许您编写多个同名但具有不同参数的方法,在调用期间,它通过参数选择正确的方法。

  

你可以尝试

传递string[] args的指定参数,例如

public class Program1     
{
    public void method1(string[] args){ 
        //some code here, , with  a lot of "Console.Writeline"
    }
}
private void button1_Click(object sender, EventArgs e){
    Program1 program = new Program1();
    program.method1(new string[]{"one","two"});
}

或尝试使用可选参数,例如

public class Program1     
{
    public void method1(string[] args=null){ 
        //some code here, , with  a lot of "Console.Writeline"
    }
}
private void button1_Click(object sender, EventArgs e){
    Program1 program = new Program1();
    program.method1();
}