title: How to check method exists in C# with certain particular signature?
body: <p>I want to check if the method for certain parameters is implemented. In this scenario, I have for example these method overloads:</p>
  
  <pre><code>public class Transformations
  { 
      public string TransformFrom(string s) { return s;}
      public string TransformFrom(int i) { return "00" + i.ToString();}
      public string TransformFrom(DateTime dt) { return 
                         DateTime.ToString("MM/dd/yyyy HH:mm:ss.fff");}
  }
  </code></pre>
  
  <p>Suppose I have decimal like:</p>
  
  <pre><code>object obj = 1M;
  </code></pre>
  
  <p>If I now call <code>TransformFrom(obj)</code>, I get an exception.</p>
  
  <p>Other part of my program returns unfortunately only objects, which really are concrete types like int or datetime. And I want to transform some of these objects to string so that those can be written to the log. So this is a runtime problem. Also I want that my Transformations-class is general enough to be used in other programs too, so there can be objects of any type.</p>
  
  <p>Is there fast way to find out that this method overload does not exist?</p>