2016-04-26 16 views
-2

Ich erstelle eine einfache MVC-Kopierdatei-App und gebe einen Fehler in der GetSource-Methode zurück. Ich habe das Problem recherchiert und ein paar Dinge ausprobiert, aber der Fehler erzeugt immer noch. Ich glaube, der Fehler ist irgendwo in der foreach-Schleife, aber ich habe versucht, danach eine Null zurückzugeben, was nur einen anderen Fehler ausgelöst hat. Jede Hilfe wird geschätzt, wie ich ein Anfänger bin. Vielen Dank!MVC, C# - Nicht alle Codepfade geben einen Wert zurück

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.IO; 


namespace April24 
{ 
    public class Andrew 
    { 
     public string Copy() 
     { 
      return "Done Copying"; 
     } 
     public string GetSource() //Error is here 
     { 
      copyFiles(10); 
     } 
     public static string production = @"C:\Users\test\Desktop\Production"; 
     public static string renameFolder = @"C:\Users\test\Desktop\RenameFolder\"; 

     static private void copyFiles(int numberOfFiles) 
     { 
      List<string> files = System.IO.Directory.GetFiles(production, "*").ToList(); 
      IEnumerable<string> filesToCopy = files.Where(file => file.Contains("Test_Name")).Take(10); 

      foreach (string file in filesToCopy) 
      { 

       string destfile = renameFolder + System.IO.Path.GetFileName(file); 

       System.IO.File.Copy(file, destfile, true); 
      }; 
      /*tried return null; here but still threw error*/ 

     } 
    } 
} 
+1

was wollen Sie 'GetSource' zurückzukehren? –

+4

Da Sie in 'GetSource()' nichts zurückgeben (Sie haben angegeben, dass Sie 'string' zurückgeben müssen). Und du 'copyFiles()' ist 'void' (es gibt nichts zurück) –

+0

Danke Daniel. Es soll Dateien von 'Produktion' in 'Ordner umbenennen' kopieren. Dieser Code funktioniert wie eine Konsolenanwendung, hat jedoch den Fehler ausgelöst, als ich ihn in ein MVC-Framework kopiert habe. – AndrewC10

Antwort

3

Ihre Methodensignatur sagt GetSource einen String zurückgibt, aber Funktion Körper gibt nichts, das, was Compiler beschwert sich über

public string GetSource() //Error is here 
{ 
     copyFiles(10); 
     return "A string here" 
} 
Verwandte Themen