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文を処理しますが、正しいことを確認していません。 switch文のデフォルトは基本的にすべての漁獲量(または何youreのあなたのcatchステートメントでやって)であるアドバンススイッチのデフォルトをどのように処理するかわかりませんか?
あなたは 'default'節で何でもできます。何をしたいですか? – SLaks
あなたの直面する問題は、あなたが 'null'を返すことであると思って、それを列挙しようとしています。 Anastasiosyalが示唆するようにそれらの場所を事前定義する異なる実装を提案してください。 –
@ SLaks、位置が一致しない場合、私はプロセスを停止するか、単に私がキャッチを投げると言う。 – Usher