【问题标题】:Compiler error reads "end of file expected"编译器错误读取“预期文件结尾”
【发布时间】:2014-12-11 04:25:06
【问题描述】:

这段代码的最后两个大括号带有下划线,错误内容如下:

类型或命名空间定义,或预期的文件结尾。

我认为我的大括号在某些地方不均匀或不匹配。我浏览了它们,似乎无法找到它们的位置。

public partial class Add_Customer : Form
{
    public Customer NewCustomer { get; set; }

    public Add_Customer()
    {
        InitializeComponent();
    }

    private void btn_Submit_Click(object sender, EventArgs e)
    {
        ValidateForm();
    }

    private bool ValidateForm();
    {
        if (string.IsNullOrWhiteSpace(txtFirstName.Text))
            {
                MessageBox.Show("First name is required");
                return false;
            }
        }
    }           
}

【问题讨论】:

  • 我看到一个返回值丢失错误,但假设你在一个命名空间中,curlys 看起来不错。确保ValidateForm 将始终返回一个值,然后尝试重建。
  • @GrantWinney 如果有命名空间声明(应该有),那将不会是多余的。假设一个命名空间,我计算正确的大括号数。

标签: c# syntax-error


【解决方案1】:

我不是程序员,但最后两个似乎是多余的,除非您希望其他两个在开始时不关闭。编辑:尝试使用突出显示块的编辑器。感谢布拉德利木洞评论。除了定义我仍然是正确的,因为我不建议使用 BlueJ Bradley,我只是说它突出了块 {}。

【讨论】:

  • 为什么要推荐用于 C# 程序的 Java IDE?
【解决方案2】:

此错误通常表示您的括号或方括号不匹配。在您的情况下,您的方法中有一个额外的}

private bool ValidateForm();
{ // 1
    if (string.IsNullOrWhiteSpace(txtFirstName.Text))
        { // 2
            MessageBox.Show("First name is required");
            return false;
        } // 2
    } // <-- EXTRA!
} //1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多