"System.IO.FileInfo"没有包含名为"GetFiles"的定义。

3
在我的selenium webdriver代码中,我使用C#进行编码。 根据要求,我需要在报告文件夹中检查是否存在任何现有报告,然后在开始新运行之前清除所有报告。 我使用Visual Studio Express 2012 for web。 以下是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO.FileInfo;
using System.Collections;



namespace GoalPlanAutomation.Reports
{
    class ReportUtil
    {
        public static int scriptNumber = 1;
        public static String indexResultFilename;
        public static String currentDir;
        public static String currentSuiteName;
        public static int tcid;
        // public static String currentSuitePath;

        public static double passNumber;
        public static double failNumber;
        public static bool newTest = true;
        public static ArrayList description = new ArrayList();
        public static ArrayList keyword = new ArrayList();
        public static ArrayList teststatus = new ArrayList();
        public static ArrayList screenShotPath = new ArrayList();

        public static void startTesting(String filename, String testStartTime,
        String env, String rel, String browser, String testSiteUrl) {
        indexResultFilename = filename;
        // currentDir=indexResultFilename.Substring
        currentDir = indexResultFilename.Substring(0,
        indexResultFilename.LastIndexOf("\\"));

        // Clear Test Report folder
        FileInfo dir = new FileInfo(currentDir);
        FileInfo[] allFiles =FileInfo.GetFiles();

        //FileInfo[] allFiles = dir.listFiles();
        for (int i = 0; i < allFiles.Length; i++) {
            allFiles[i].Delete();
        }
    }
}

FileInfo.GetFiles() 出现错误,错误提示如下:
'System.IO.FileInfo' 不包含 'GetFiles' 的定义。
请告诉我代码中出了什么问题。

这个问题还有其他的方面吗?你解决了吗? - crthompson
2个回答

1
这是因为FileInfo没有名为GetFiles的方法。
您可能将其与具有该方法的DirectoryInfo混淆了。
您需要像这样的东西:
FileInfo[] allFiles = DirectoryInfo.GetFiles(currentDir);

for (int i = 0; i < allFiles.Length; i++) {
    allFiles[i].Delete();

1
你应该使用DirectoryInfo而不是FileInfo。获取currentDir最好使用Path.GetDirectoryName()而不是Substring

currentDir +1 的好提示。 - crthompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接