Hallo, ich lerne C #.
Wenn ich versuche, meine Methode in einer Instanz aufzurufen, erhalte ich keine Option für Intelligenz und bin gezwungen, sie einzugeben.
Ich habe auch die aktuellen zwei Fehler beim Versuch zu bauen:
1.) "'string []' enthält keine Definition für 'LastWriteTime' und es konnte keine Erweiterungsmethode 'LastWriteTime' gefunden werden, die ein erstes Argument vom Typ 'string []' akzeptiert."
2.) "Auf das Mitglied 'MyClass.Move_Modified_Files ()' kann nicht mit einer Instanzreferenz zugegriffen werden. Qualifizieren Sie es stattdessen mit einem Typnamen."
Alle Hinweise wäre sehr dankbar!
Hier ist mein Code:
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();
}
}
}
So beheben Sie Ihre Fehler:
1.) System.IO.Directory.GetFiles
gibt ein Array von Dateipfaden zurück. Wenn Sie die letzte Schreibzeit jeder Datei überprüfen möchten, können System.IO.File.GetLastWriteTime()
Sie den vollständigen Pfad übergeben. Sie müssen das Array durchlaufen, um dies zu erreichen.
2.) Ihre Methoden- und Mitgliedsvariablen sind in der Klasse statisch und müssen es nicht sein. Sie sollten die Methode nicht statisch machen, und dann verschwindet dieser Fehler / diese Warnung.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen