title: Constructors with the same argument type
body: <p>I have a Person object with two constructors - one takes an int (personId), the other a string (logonName).  I would like another constructor that takes a string (badgeNumber).  I know this can't be done, but seems it might be a common situation.  Is there a graceful way of handling this?  I suppose this would apply to any overloaded method.  Code:</p>
  
  <pre><code>public class Person
  {
      public Person() {}
  
      public Person(int personId)
      {
          this.Load(personId);
      }
  
      public Person(string logonName)
      {
          this.Load(logonName);
      }
  
      public Person(string badgeNumber)
      {
          //load logic here...
      }
  </code></pre>
  
  <p>...etc.</p>