I am trying to create a function that takes in an Action and a Timeout, and executes the Action after the Timeout. The function is to be non-blocking. The function must be
Why not simply invoke your action parameter itself in an asynchronous action?
Action timeoutMethod = () => { Thread.Sleep(timeout_ms); action(); }; timeoutMethod.BeginInvoke();