title: Trying to use Reflection to Invoke Method within same class
body: <p>I have a WCF service that accepts an object as a parameter that has a URI and Method Name.
  What I am trying to do is have a method that will look @ the URI, if it contains the words "localhost" it will use reflection and call a method, of the name that is passed in as a parameter, within the the same class, return a value and continue on.</p>
  
  <pre><code>public class Test
  {
       public GetStatResponse GetStat(GetStatRequest request)
       {
  
          GetStatResponse returnValue = new GetStatResponse();
  
           if(Helpers.Contains(request.ServiceURI,"localhost", StringComparison.OrdinalIgnoreCase))
           {
               MethodInfo mi = this.GetType().GetMethod(request.ServiceMethod /*, BindingFlags.Public | BindingFlags.IgnoreCase*/);
               returnValue = (GetStatResponse)mi.Invoke(this,null);
           }
  </code></pre>
  
  <p>The above is the code segment pertaining to this question.  I pull the MethodInfo no problem but I am running into issues on the mi.Invoke.  The exception that I receive is "Exception has been thrown by the target of an invocation." With an Inner Exception "Object reference not set to an instance of an object".  I have tried changing the code to (GetStatResponse)mi.Invoke(new Test(), null), with no luck.  Test being the class.</p>
  
  <p>I'm open to other suggestions as to how to resolve this, I just thought reflection might be the easiest. </p>
  
  <p>The Method that I am calling with my testing is defined as </p>
  
  <pre><code>public GetStatResponse TestMethod() 
  {
           GetStatResponse returnValue = new GetStatResponse(); 
           Stat stat = new Stat();
           Stat.Label = "This is my label";
           Stat.ToolTip = "This is my tooltip";
           Stat.Value = "this is my value"; 
  
           returnValue.Stat = stat;
           return returnValue;
  }
  </code></pre>