无法在Main()中调用方法?

时间:2016-12-31 05:10:42

标签: c# methods syntax-error

您好我正在学习C#。

当试图在一个实例中调用我的Method时,我没有得到intellesence的选项,我被迫输入它。

我在尝试构建时也遇到了两个错误:

1。)“'string []'不包含'LastWriteTime'的定义,也没有扩展方法'LastWriteTime'接受'string []'类型的第一个参数。”

2。)“无法使用实例引用访问”成员'MyClass.Move_Modified_Files()';而是使用类型名称限定它“

任何线索都会非常感激!

这是我的代码:

namespace File_Mover
{
    public class MyClass
    {
        public static string src = @"C:\Users\Bold Defiance\Desktop\FolderA";
        public static string dst = @"C:\Users\Bold Defiance\Desktop\FolderB";
       public static string[] files = System.IO.Directory.GetFiles(src, "*.txt");

        public static void Move_Modified_Files()
        {
            try
            {
                if (files.LastWriteTime.Date == DateTime.Today.Date)
                {
                    File.Move(src, dst);
                    Console.WriteLine("Modified files in {0} were moved to {1}", src, dst);
                }
                else
                {
                    Console.WriteLine("No new or modified files were created today.");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("The process failed: {0}", e.ToString());
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyClass cls = new MyClass();
            cls.Move_Modified_Files();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

修复错误:

1。)System.IO.Directory.GetFiles返回文件路径数组。如果要检查每个文件的上次写入时间,可以使用System.IO.File.GetLastWriteTime()将完整路径传递给它。您必须遍历数组才能完成此任务。

2。)您的方法和成员变量在类中是静态的,不需要。您应该使该方法非静态,然后此错误/警告将消失。