title: The name 'binarySearchRecursive' does not exist in the current context (c#)
body: <p>I am writing this function, however it gives me: <code>The name 'binarySearchRecursive' does not exist in the current context</code>. I dont understand why i am getting this message, the call is done in the scope of this method itself? Or do i misunderstand a fundamental part of c#? </p>
  
  <pre><code>  public static int binarySearchRecusive&lt;T&gt;(T[] a, int low, int high, T v) where T : IComparable
      {    
  
          if (low &lt; high)
          {
              var middle = (low + high) / 2;
              if (a[middle].CompareTo(v) == 0)
                  return middle;
              if (a[middle].CompareTo(v) &lt; 0)
                  return binarySearchRecursive(a, low, middle - 1, v);
              else
                  return binarySearchRecursive(a, middle+1, high - 1, v);
          }
          return -1;
      }
  </code></pre>