我正在学习C和C#,问题是C#,我正在读这本编程书,而且这段代码没有编译。
FileDialog
仅显示intellisense中的两种方法(Equals和ReferenceEquals)。代码来自一本书,因此预计此方法和属性是FileDialog
类的一部分吗?
以下是代码:
private void cmdBrowse_Click(object sender, EventArgs e
{
if (FileDialog.ShowDialog() != DialogResult.Cancel)
{
txtLocation.Text = FileDialog.FileName;
cmdWatch.Enabled = true;
FileDialog.
}
}
编辑:我发现问题是什么,我没有在表格中加入一个锉刀,我不知道锉刀是什么,现在我记得了。 DOHH
答案 0 :(得分:3)
问题是你想要一个类的实例,而不是直接使用该类。但是,FileDialog
是一个抽象类,这意味着你无法直接实例化它,但是你可以使用几个实现......
假设您要选择(打开)文件,则可以使用OpenFileDialog
类:
OpenFileDialog dialog = new OpenFileDialog();
if(dialog.ShowDialog() != DialogResult.Cancel)
{
txtLocation.Text = dialog.FileName;
cmdWatch.Enabled = true;
}
或者,如果要选择要保存的文件位置,请使用SaveFileDialog
答案 1 :(得分:2)
FileDialog
是一个抽象类。您必须使用其中一个实现。 SafeFileDialog
或OpenFileDialog
取决于您的需求。
MSDN上提供了有关FileDialog
课程的更多信息。
答案 2 :(得分:2)
FileDialog
是类,但是你需要它的一个实例来打开它。因此假设您使用的是OpenFileDialog
,其名称为OpenFileDialog1
:
if(OpenFileDialog1.ShowDialog() != DialogResult.Cancel)
{
// ...
}
通常通过调用类的构造函数f.e:
来创建实例OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
您只能通过static
的类名调用方法。