i want to use Dictionary
and Action
to call some static method
here is my code:
public class Works
{
public static void DoWorkA()
{
Thread.Sleep(1000);
Console.WriteLine("Doing Work A");
}
public static void DoWorkB()
{
Thread.Sleep(2000);
Console.WriteLine("Doing Work B");
}
public static void DoWorkC()
{
Thread.Sleep(3000);
Console.WriteLine("Doing Work C");
}
}
and this is is my main method
try
{
var DoJob = new Dictionary<int, Action>();
DoJob.Add(1, () => Works.DoWorkA());
DoJob.Add(2, () => Works.DoWorkB());
DoJob.Add(3, () => Works.DoWorkC());
var input = Console.Read();
var job = DoJob[input];
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
i use foreach
to iterate keys and keys are exist
foreach (var item in DoJob)
{
Console.WriteLine($"Item {item.Key} has Value {item.Value}");
}
but when i want to access key using input value i get exception
whats wrong?