无效的表达式项 'public'
Invalid expression term 'public'
对于下面的代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
public int x = 5;
MessageBox.Show(x.ToString());
}
}
我有以下错误
Invalid expression term 'public'
上线public int x = 5;
为什么我不能在事件处理程序中定义 public 个对象?
public
是类型(例如 public class Foo
)和类型成员(例如 class 上的方法、属性或字段,例如 button3_Click
的访问修饰符).
您试图在方法内将局部变量声明为 public,这是不允许的。
修复编译错误的一种方法是从 button3_Click
中的局部变量声明中删除访问修饰符:int x = 5;
而不是 public int x = 5;
。如果您只需要访问 button3_Click
中的变量 x
并且您很高兴每次调用 button3_Click
时实例化一个新变量,您应该使用它。
修复编译错误的另一种方法是将 x
从局部变量更改为字段。通过更改 x
的定义位置,您可以将其声明为 Form1
上的字段,而不是 button3_Click
范围内的局部变量。
尝试:
public partial class Form1 : Form
{
public int x;
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
x = 5;
MessageBox.Show(x.ToString());
}
}
如果您需要从程序中的其他方法访问 x
字段,或者您希望在 [=22] 上多次调用 button3_Click
方法时保留值,则最好使用此选项=] 实例。
如果是这种情况,您还可以决定将 x
设为 property instead of a field,以便更好地控制读取、写入、and/or 计算 x
.
对于下面的代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
public int x = 5;
MessageBox.Show(x.ToString());
}
}
我有以下错误
Invalid expression term 'public'
上线public int x = 5;
为什么我不能在事件处理程序中定义 public 个对象?
public
是类型(例如 public class Foo
)和类型成员(例如 class 上的方法、属性或字段,例如 button3_Click
的访问修饰符).
您试图在方法内将局部变量声明为 public,这是不允许的。
修复编译错误的一种方法是从 button3_Click
中的局部变量声明中删除访问修饰符:int x = 5;
而不是 public int x = 5;
。如果您只需要访问 button3_Click
中的变量 x
并且您很高兴每次调用 button3_Click
时实例化一个新变量,您应该使用它。
修复编译错误的另一种方法是将 x
从局部变量更改为字段。通过更改 x
的定义位置,您可以将其声明为 Form1
上的字段,而不是 button3_Click
范围内的局部变量。
尝试:
public partial class Form1 : Form
{
public int x;
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
x = 5;
MessageBox.Show(x.ToString());
}
}
如果您需要从程序中的其他方法访问 x
字段,或者您希望在 [=22] 上多次调用 button3_Click
方法时保留值,则最好使用此选项=] 实例。
如果是这种情况,您还可以决定将 x
设为 property instead of a field,以便更好地控制读取、写入、and/or 计算 x
.