title: Calling delegate with multiple functions having return values
body: <p>I am trying to understand concept of delegates and have got a query. Suppose that we have a delegate defined with return type as int and accepting in 2 parameters of type int.</p>
  
  <p>Delegate declaration:</p>
  
  <pre><code> public delegate int BinaryOp(int x, int y); 
  </code></pre>
  
  <p>Now, lets say we have 2 methods (add and multiply) both accepting 2 int parameters and returning an int result. </p>
  
  <p>Code:</p>
  
  <pre><code>    static int Add(int x, int y)  
     {     
          return x + y; 
      }  
  
      static int Multiply(int x, int y)  
     {     
          return x * y; 
      }  
  </code></pre>
  
  <p>Now, when add and multiply methods are added into this delegate, and then when the delegate is called like:</p>
  
  <pre><code>BinaryOp b = new BinaryOp(Add);
  b+=new BinaryOp(Multiply);
  
  int value=delegate_name(2,3);
  </code></pre>
  
  <p>Then, as per my understanding, both the methods are called. Now, result from which of the 2 methods is stored in the value variable? Or does it return an array in such case?</p>