title: Why can't a delegate refer to a non-static method when used in a static method?
body: <p>Why is it necessary to make a function STATIC while using delegates in C# ?</p>
  
  <pre><code>class Program
  {
      delegate int Fun (int a, int b);
      static void Main(string[] args)
      {
          Fun F1 = new Fun(Add);
          int Res= F1(2,3);
          Console.WriteLine(Res);
      }
  
     **static public int Add(int a, int b)** 
      {
          int result;
          result = a + b;
          return result;
      }
  }
  </code></pre>