我想打开文件并检查文件类型。 我有Path.GetExtension的问题。还有其他选择吗? 我在WPF工作。我尝试使用以下代码
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.Filter = "Image (*.bmp, *.jpg, *.gif, *.png)|*.bmp; *.jpg; *.gif; *.png|All (*.*)|*.*";
if (dlg.ShowDialog() == true)
string ext = Path.GetExtension(dlg.FileName); //problem
if (ext == ".jpg")
{...}
错误说:'System.Windows.Shapes.Path'不包含'GetExtension'的定义
答案 0 :(得分:4)
问题是WPF有一个名为System.Windows.Shapes.Path
的类(表示绘图路径),你想要System.IO.Path
(用于处理文件系统路径)。您的文件已有using System.Windows.Shapes
。添加using System.IO
无济于事,因为编译器不会知道你的意思是哪个 Path
。
您可以通过在文件顶部添加此行来解决问题,这会告诉编译器,当您说Path
时,您的意思是System.IO.Path
。
using Path = System.IO.Path;
(注意:如果您这样做,除非您使用using System.IO
中的其他类,否则不需要System.IO
。)
答案 1 :(得分:3)
使用string ext = System.IO.Path.GetExtension(dlg.FileName);
,它会正常工作。