public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void txtTestPrime_Click(object sender, EventArgs e)
{
TestPrime myNumber = new TestPrime();
lblAnswer.Text =
myNumber.TestPrime(ToInt16(txtTestPrime.Text)) ? "it is prime!" : "it is NOT prime!";
}
}
public class TestPrime(int number)
{
bool prime;
}
它不喜欢这一行:
public class TestPrime(int number)
我收到此错误:无效的标记'('在类,结构或接口成员声明中
在该行上获得expect { and ;
也在这一行:
myNumber.TestPrime(ToInt16(txtTestPrime.Text)) ? "it is prime!" : "it is NOT prime!";
我得到错误4'WindowsFormsApplication1.TestPrime'不包含'TestPrime'的定义,并且没有可以找到接受类型'WindowsFormsApplication1.TestPrime'的第一个参数的扩展方法'TestPrime'(你是否缺少using指令或汇编参考?)
也许这是我做错的一件大事。请帮忙!
答案 0 :(得分:7)
TestPrime
应该是一个班级吗?它听起来更像一个函数(也称为“方法”)。
尝试将该行更改为
public static bool TestPrime(int number)
答案 1 :(得分:3)
您正在尝试同时在同一行创建一个类和一个方法,这没有任何意义。
如果您想要一种检查号码的方法,请执行以下操作:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void txtTestPrime_Click(object sender, EventArgs e)
{
// this instantiate a new class, which now is not needed
//TestPrime myNumber = new TestPrime();
lblAnswer.Text = TestPrime(Int16.Parse(txtTestPrime.Text)) ? "it is prime!" : "it is NOT prime!";
}
public bool TestPrime(short number)
{
/* your logic */
/* this method expects a boolean as the return type */
}
}
一些有用的链接:
答案 2 :(得分:2)
您不能在类声明中拥有参数。
您需要创建一个采用所需参数的构造函数。
示例:强>
public class TestPrime
{
private bool prime;
private int _number;
public TestPrime(int number)
{
this._number = number;
}
}