title: Why Static Methods are allowed only to call static methods not non static methods
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/2283279/why-can-i-only-access-static-members-from-a-static-function">Why can I only access static members from a static function?</a>  </p>
  </blockquote>
  
  
  
  <p>While I was trying to call a normal method from inside a static method I got the error:</p>
  
  <blockquote>
    <p>An object reference is required for the non-static field, method, or property</p>
  </blockquote>
  
  <p>So this means I need to create the object of the Class and then call the nonstatic method. If I want to call the method directly then I have to declare that method as Static.</p>
  
  <p>But , in this scenario , the calling method and called method belong to same class. So Why do I need to create an object while calling from a Static Method , while I can call a non-static method from non static method.</p>
  
  <p>Ex:</p>
  
  <pre><code>class Program
      {
          //public void outTestMethod(int x,out int y)
          //{
          //    y = x;
          //}
          static void Main(string[] args)
          {
              int a = 10;
              int b = 100;
  
              outTestMethod(a,out b); 
          }
  
          private  void outTestMethod(int x, out int y)
          {
              y = x;
          }
      }
  </code></pre>
  
  <p><code>Error:An object reference is required for the non-static field, method, or property</code></p>