抱歉,我故意使用这个标题。我对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.WriteLine
和Console.Readline
,但我不知道如何解决我的问题。
我想在我的winform上按一个按钮来运行我的课程,打开控制台并在控制台上向我询问我想要的参数。
谢谢!
答案 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();
}