В качестве альтернативы вы можете объявить:
public static void waitFor(Action<string> myEvent, string param)
и в вашем основном вызове:
public static void Main(string[] args)
{
MySampleClass sc = new MySampleClass();
EventToWait ev1 = sc.click;
EventToWait ev2 = sc.flick;
waitFor((k)=>sc.click(k), "Button_1");
waitFor((k)=>sc.flick(k), "Button_2");
System.Console.ReadKey();
}
это позволит избежать необходимости объявления делегата.