title: C# Function Error
body: <p>As I'm new to C# I'm trying to make a basic console based calculator.  It's getting one error though.  Here is my code:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  
  namespace FunctionBased_Calculator
  {
      class Program
      {
          public void menu()
          {
              Console.Clear();
              Console.WriteLine("-=Calculator=-\n");
              Console.WriteLine("(1.) Addition");
              Console.WriteLine("(2.) Subtraction");
              Console.WriteLine("(3.) Multiplication");
              Console.WriteLine("(4.) Division");
              Console.WriteLine("(5.) Help");
              string answer = Console.ReadLine();
              if (answer == "1")
              {
                  addition();
              }
              else
              {
                  if (answer == "2")
                  {
                      subtraction();
                  }
                  else
                  {
                      if (answer == "3")
                      {
                          multiplication();
                      }
                      else
                      {
                          if (answer == "4")
                          {
                              division();
                          }
                          else
                          {
                              if (answer == "5")
                              {
                                  help();
                              }
                              else
                              {
                                  Console.WriteLine("Invalid");
                                  Console.ReadKey();
                                  menu();
                              }
                          }
                      }
                  }
              }
          }
          public void addition()
          {
              Console.WriteLine("-=Addition=-\n");
              Console.WriteLine("Number 1:");
              int num1 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Addition=-\n");
              Console.WriteLine("Number 2:");
              int num2 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Addition=-\n");
              int sum = num1 + num2;
              Console.WriteLine(sum);
              Console.ReadKey();
              menu();
          }
          public void subtraction()
          {
              Console.WriteLine("-=Subtraction=-\n");
              Console.WriteLine("Number 1:");
              int num1 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Subtraction=-\n");
              Console.WriteLine("Number 2:");
              int num2 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Subtraction=-\n");
              int sum = num1 - num2;
              Console.WriteLine(sum);
              Console.ReadKey();
              menu();
          }
          public void multiplication()
          {
              Console.WriteLine("-=Multiplication=-\n");
              Console.WriteLine("Number 1:");
              int num1 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Multiplication=-\n");
              Console.WriteLine("Number 2:");
              int num2 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Multiplication=-\n");
              int sum = num1 * num2;
              Console.WriteLine(sum);
              Console.ReadKey();
              menu();
          }
          public void division()
          {
              Console.WriteLine("-=Division=-\n");
              Console.WriteLine("Number 1:");
              int num1 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Division=-\n");
              Console.WriteLine("Number 2:");
              int num2 = Convert.ToInt32(Console.ReadLine());
              Console.Clear();
              Console.WriteLine("-=Division=-\n");
              int sum = num1 / num2;
              Console.WriteLine(sum);
              Console.ReadKey();
              menu();
          }
          public void help()
          {
              Console.WriteLine("-=Help=-\n");
              Console.WriteLine("If you got compiled this by yourself you don't need help.");
              Console.ReadKey();
              menu();
          }
          static void Main(string[] args)
          {
              menu();
          }
      }
  }
  </code></pre>
  
  <p>Here is the error I get every time I try to run it (I'm using VS Express 2013) I get this error:</p>
  
  <blockquote>
    <p>An object reference is required for the non-static field, method, or<br>
    property 'FunctionBased_Calculator.Program.menu()'</p>
  </blockquote>
  
  <p>It's on line 133.  I think it might have something to do with using menu() inside static void main.  If anyone could help me that'd be great!</p>