public static void StartTask(SampleDirectory currentDirectory, string sampleTask) { if (currentDirectory == SampleDirectory.Root) { Console.WriteLine("There should be no sample under Root directory"); return; } int sampleTaskNo; if (Int32.TryParse(sampleTask, out sampleTaskNo)) { string sampleListFile = "CSharpBenchmarkSample." + currentDirectory.ToString() + "._SampleList"; ISampleList sampleList = (ISampleList)InstanceFactory.CreateInstance(Type.GetType(sampleListFile)); sampleList.GetSampleNameBySampleNumber(sampleTaskNo, out sampleTask); } string sampleTaskPath = "CSharpBenchmarkSample." + currentDirectory.ToString() + "." + sampleTask; try { IRunningSample sample = (IRunningSample)InstanceFactory.CreateInstance(Type.GetType(sampleTaskPath)); Console.WriteLine(); Console.WriteLine("Starting Task {0}", sampleTask); Start(sample); Console.WriteLine("End Task"); } catch (Exception) { Console.WriteLine("No such sample {0} under \"{1}\"", sampleTask, currentDirectory.ToString()); } }
public static void ChangeDirectory(ref SampleDirectory applicationDirecotry, string targetDirectory) { SampleDirectory target; if (Enum.TryParse<SampleDirectory>(targetDirectory, true, out target)) { ChangeDirectory(ref applicationDirecotry, target); } else { Console.WriteLine("No such directory"); } }
public static void List(SampleDirectory currentDirectory) { Console.WriteLine(); if (currentDirectory == SampleDirectory.Root) { Console.WriteLine("Current directory under \"Root\""); foreach (SampleDirectory dir in Enum.GetValues(typeof(SampleDirectory))) { if (dir != SampleDirectory.Root) { Console.WriteLine(dir.ToString()); } } } else { string sampleListFile = "CSharpBenchmarkSample." + currentDirectory.ToString() + "._SampleList"; Console.WriteLine("Current sample(s) under \"{0}\" :", currentDirectory.ToString()); ISampleList sampleList = (ISampleList)InstanceFactory.CreateInstance(Type.GetType(sampleListFile)); sampleList.List(); } }
public static void ChangeDirectory(ref SampleDirectory applicationDirectory, SampleDirectory targetDirectory) { applicationDirectory = targetDirectory; }