title: Using an enum as an optional parameter
body: <p>I have several methods in an application I'm working on loaded with optional parameters, some of which are enums. Currently, in order to do that I'm writing methods with a similar type of signature:</p>
  
  <pre><code>public void SomeMethod(string myFirstParam = "", string mySecondParam = "", MyEnum myThirdParam = (MyEnum )(-1)){
  
       if (myThirdParam != (MyEnum ) (-1))
       {
            //do something with it
       }
  }
  </code></pre>
  
  <p>So my first question is, is there some pitfall to this approach I haven't realized, but in time will become painfully aware of, and secondly, is there a more proper - or at least elegant solution to it?</p>
  
  <p>I should say that we control the input to this method, it's used internally, so I'm not worried about someone casting in a value of -1 to gum up the works.</p>