title: Making a return inside callback
body: <pre><code>public static string GetFoo() {
  
          string source = GameInfoUtil.GetSource(repairRequest, () =&gt; {
              return "0"; // this line gives error
          });
          .
          .
          MORE WORK, BUT WANT TO SKIP IT
      }
  
  
  public static string GetSource(WebRequest request, Action failureCallback) {
          // DOING WORK HERE WITH REQUEST
          if(WORK IS SUCCESSFULL) RETURN CORRECT STRING ELSE CALL -&gt;
          failureCallback();
          return "";
      }
  </code></pre>
  
  <p>I want to do smthing like this, but it gives me error:</p>
  
  <pre><code>Error   2   Cannot convert lambda expression to delegate type 'System.Action' because some of the return types in the block are not implicitly convertible to the delegate return type.
  Error   1   Since 'System.Action' returns void, a return keyword must not be followed by an object expression   C:\Users\Jaanus\Documents\Visual Studio 2012\Projects\Bot\Bot\Utils\GameInfoUtil.cs 58  5   Bot
  </code></pre>
  
  <p>What I want to do, is when something happens in <code>GameInfoUtil.GetSource</code>, it will call out my delegate, and the <code>GetFoo</code> method will return and not continue work.</p>