class Program
{
static void Main(string[] args)
{
var getfiles = new fileshare.Program();
string realname = "*test*";
string Location = "SVR01";
foreach (var file in getfiles.GetFileList(realname,Location))
{getfiles.copytolocal(file.FullName); }
}
private FileInfo[] GetFileList(string pattern,string Location)
{
try
{
switch (Location)
{
case "SVR01":
{
var di = new DirectoryInfo(@"\\SVR01\Dev");
return di.GetFiles(pattern);
}
case "SVR02":
{
var di = new DirectoryInfo(@"\\SVR02\Dev");
return di.GetFiles(pattern);
}
case "SVR03":
{
var di = new DirectoryInfo(@"\\SVR03\Prod");
return di.GetFiles(pattern);
}
default: throw new ArgumentOutOfRangeException();
}
}
catch(Exception ex)
{ Console.Write(ex.ToString());
return null;
}
}
private void copytolocal(string filename)
{
string nameonly = Path.GetFileName(filename);
File.Copy(filename,Path.Combine(@"c:\",nameonly),true);
}
}
Am는 기본 switch 문을 처리하지만 올바르게 수행되고 있는지 확실하지 않습니다. 일부 수정하십시오. 스위치 문에서 기본값은 기본적으로 모든 캐치 (또는 무엇을 개봉하여 catch 문에 일을)은 사전스위치의 기본값을 처리하는 방법을 모르십니까?
'default' 절에서 원하는대로 할 수 있습니다. 뭐하고 싶어? – SLaks
당신의 즉각적인 문제는 당신이'널 (null) '을 반환한다는 것입니다. 그리고 그걸 열거하려고합니다. Anastasiosyal 제안에 따라 다른 위치를 미리 정의 할 수있는 다른 구현 방법을 제안하십시오. –
@ SLaks, 위치가 일치하지 않으면 프로세스를 중지하거나 간단히 잡을 수 있다고 말합니다. – Usher