Ignoring the irrelevant parts - I have a requirement to use a delegate with no arguments and no return value, but get a value from it. The current solution is to use a lambda expression and a variable that's declared before it.
string result;
RequiredMethod(() => { result = "the result"; });// Gets the result from a 2nd thread.
//use result
Is there a way to do this without using a lambda expression? I expect there should be, but can't come up with it.