title: HOW TO get an overloaded private/protected method using reflection
body: <pre><code>using System;
  using System.Reflection;
  
  namespace Reflection        
  {
      class Test
      {
          protected void methodname(int i)
          {
              Console.WriteLine(("in the world of the reflection- only i"));
              Console.Read();
          }    
          protected void methodname(int i, int j)
          {
              Console.WriteLine(("in the world of the reflection  i , j"));
              Console.Read();
          }
      }
      class Program
      {
          static void Main(string[] args)
          {
             // BindingFlags eFlags = BindingFlags.Default | BindingFlags.Instance | BindingFlags.Public|BindingFlags.NonPublic;
              BindingFlags eFlags = BindingFlags.Instance|BindingFlags.NonPublic;
              Test aTest = new Test();
              MethodInfo mInfoMethod = typeof(Reflection.Test).GetMethod("methodname", eFlags);
              mInfoMethod.Invoke(aTest, new object[] { 10 ,20});   
          }
      }
  }
  </code></pre>
  
  <p>I want to call both  Getmethod() overloaded methods. If i give the method name , an runtime error is thrown(ambigous method call) . How to avoid this and how each method can be called.</p>