嗨我上课有问题。
我创建了Function.cs类,其中包含了我的所有功能:
public class Function
{
public void Plus(Form1 form)
{
decimal multiple = 0.3m;
decimal digit = Convert.ToDecimal(form.TextBox1Text);
form.TextBox2Text = String.Format("{0:f}", (digit * multiple) + digit);
}
在Form1.cs上我调用了这个类
else if (textbox.Text != string.Empty && textbox2.Text == string.Empty)
{
Function.Plus(); //error
}
我在Function.Plus()上有错误。
答案 0 :(得分:3)
您必须创建班级的新对象。然后调用你的Plus功能。
Function obj = new Function();
obj .Plus(//here you have to pass your argument of Form type)
答案 1 :(得分:1)
您应该实例化您的Function类或使Plus方法静态
<强>实例化强>
Function.cs
public class Function
{
public void Plus(Form1 form)
{
decimal multiple = 0.3m;
decimal digit = Convert.ToDecimal(form.TextBox1Text);
form.TextBox2Text = String.Format("{0:f}", (digit * multiple) + digit);
}
}
Main.cs
else if (textbox.Text != string.Empty && textbox2.Text == string.Empty)
{
var function = new Function();
function.Plus(); //error
}
使用的方法是静态的
否则你可以将Plus方法设为静态:
Function.cs
public class Function
{
public static void Plus(Form1 form)
{
decimal multiple = 0.3m;
decimal digit = Convert.ToDecimal(form.TextBox1Text);
form.TextBox2Text = String.Format("{0:f}", (digit * multiple) + digit);
}
}
Main.cs
else if (textbox.Text != string.Empty && textbox2.Text == string.Empty)
{
Function.Plus(); //error
}
此外,如果你将方法设为静态,你将需要将Form1类型的参数传递给你的函数,如果使用了一个字段,就不能再使用Function类的字段。 / p>