在事件中声明公共字符串时出错-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事件,但这并不能解决问题。
任何帮助都将不胜感激,谢谢。
不能在方法(或事件)中声明属性或字段。
我怀疑你想要更像这样的东西。
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;
}
}