我正在开发的应用程序中有几种使用了可选参数的方法,其中一些是枚举类型。目前,为了实现这一点,我编写了具有相似签名类型的方法:
public void SomeMethod(string myFirstParam = "", string mySecondParam = "", MyEnum myThirdParam = (MyEnum )(-1)){
if (myThirdParam != (MyEnum ) (-1))
{
//do something with it
}
}
所以我的第一个问题是,这种方法是否存在我没有意识到但最终会痛苦地意识到的一些缺陷? 第二个问题是,是否有更合适或至少更优雅的解决方案?
我应该说,我们控制这种方法的输入,它在内部使用,所以我不担心有人投入一个值为-1来干扰工作。