在事件中声明公共字符串时出错-C#.NET

本文关键字:出错 -C# NET 字符串 事件 声明 | 更新日期: 2023-09-27 18:28:00

我有一个事件,我想在其中声明一个public string,它表示我的openFileDialog中的filePath。我想这样做,这样我就可以以另一种形式访问filePath

以下是我如何做到这一点:

private void confirmButton_Click(object sender, EventArgs e)
    {
        SaveFileDialog ofd = new SaveFileDialog();
        if (ofd.ShowDialog() == DialogResult.OK)
        {
            //DO STUFF WITH SELECTED FILE
        }
        public string fileName = ofd.FileName;
    }

当我试图将字符串声明为public时,我遇到了一堆语法错误,我还尝试将事件更改为public事件,但这并不能解决问题。

任何帮助都将不胜感激,谢谢。

在事件中声明公共字符串时出错-C#.NET

不能在方法(或事件)中声明属性或字段。

我怀疑你想要更像这样的东西。

public string filename { get; set; }
private void confirmButton_Click(object sender, EventArgs e)
{
    SaveFileDialog ofd = new SaveFileDialog();
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        //DO STUFF WITH SELECTED FILE
    }
    filename = ofd.FileName;
}

原因是,您在方法主体内声明的任何内容的作用域仅为该方法主体内的。因此,标记为public的东西没有多大意义。通过将它从方法体中取出并简单地从那里引用它,您可以做更多的工作。

您声明的字符串不是公共字符串。它在方法内部。尝试:

public string fileName;
private void confirmButton_Click(object sender, EventArgs e)
{
    SaveFileDialog ofd = new SaveFileDialog();
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        //DO STUFF WITH SELECTED FILE
        fileName = ofd.FileName;
    }
}