Utilisation d'une énumération en tant que paramètre facultatif

J'ai plusieurs méthodes dans une application que je suis en train de travailler sur chargé avec des paramètres optionnels, dont certains sont des enums. Actuellement, afin de faire que je suis en train d'écrire des méthodes avec un type similaire de la signature:

public void SomeMethod(string myFirstParam = "", string mySecondParam = "", MyEnum myThirdParam = (MyEnum )(-1)){

     if (myThirdParam != (MyEnum ) (-1))
     {
          //do something with it
     }
}

Donc, ma première question est, est-il un piège à cette approche, je n'ai pas réalisé, mais le temps va devenir douloureusement conscient, et d'autre part, est-il plus approprié - ou au moins une solution élégante pour elle?

Je dois dire que nous avons le contrôle de l'entrée de cette méthode, il est utilisé en interne, donc je ne suis pas inquiet au sujet de quelqu'un casting à une valeur de -1 à la gomme jusqu'à l'usine.

source d'informationauteur El Kabong