小编El *_*ong的帖子

使用枚举作为可选参数

我在一个应用程序中有几个方法,我正在加载可选参数,其中一些是枚举.目前,为了做到这一点,我正在编写具有类似签名类型的方法:

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

     if (myThirdParam != (MyEnum ) (-1))
     {
          //do something with it
     }
}
Run Code Online (Sandbox Code Playgroud)

所以我的第一个问题是,这种方法是否存在一些我没有意识到的陷阱,但是时间会变得痛苦地意识到,其次,是否有更合适的 - 或者至少是优雅的解决方案?

我应该说我们控制了这个方法的输入,它是在内部使用的,所以我并不担心有人会使用值-1来修改工作.

c# enums optional-parameters

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

enums ×1

optional-parameters ×1