不能访问另一个类中的变量:无效表达式term 'public'

本文关键字:表达式 term public 无效 另一个 访问 变量 不能 | 更新日期: 2023-09-27 18:01:59

Visual c# 2008 express。Windows表单;两个文本框和一个按钮。在cmdEnter_Click事件中,我想检查ValidateForm类中的布尔变量是否为真(以处理文本框是否被清除)。

private void cmdEnter_Click(object sender, EventArgs e)
{
     ValidateForm();
     txtName.Clear();
     txtAge.Clear();
}
public void ValidateForm()
{
     bool bValidName = ValidateName();
     bool bValidAge = ValidateAge();
     if (bValidName && bValidAge)
          MessageBox.Show("Entry will be added");               
     else
          MessageBox.Show("Please enter valid data");
}

我将ValidateFrom()修饰符从private更改为public,然后将public放在布尔变量前面,以便我可以访问它们,但我收到"Invalid expression term public"错误。我的理解是,如果变量是公共的,在一个公共类内,我应该能够从任何地方访问它?

不能访问另一个类中的变量:无效表达式term 'public'

在方法内部声明的变量仅在该方法内部可用,无论该类是否为公共类。

如果要从公共类外部访问变量,请使用类级变量。在你的方法之外声明它。public/private修饰符在方法内部无效,它们需要在类级别使用。

public bool bValidName;
public void ValidateForm()
{
     bValidName = ValidateName();
     ...

取决于你想做什么,你可能想把它变成一个属性,你可以在get/set上使用修饰符。

public bool bValidName { get; set; }