有可能重构这个C#if(..)语句吗?

Pur*_*ome 7 .net refactoring if-statement .net-4.0

简单的问题: -

我有以下简单的if(..)语句: -

if (foo == Animal.Cat || foo == Animal.Dog)
{ .. }

if (baa == 1|| baa == 69)
{ .. }
Run Code Online (Sandbox Code Playgroud)

是否有可能将这些重构为......

免责声明:我知道这不会编译..但这是我想要得到的...

if (foo == (Animal.Cat || Animal.Dog))
{ .. }

if (baa == (1 || 69))
{ .. }
Run Code Online (Sandbox Code Playgroud)

干杯:)

编辑

我想知道lambda表达式扩展是否可以做到这一点?:P

Set*_*son 13

我通常创建一个名为的扩展方法IsIn(),它接受一个类型的泛型参数数组,<T>然后调用.Contains()它,传递调用扩展名的实例.

看起来像if (foo.IsIn(foo1, foo2)).编写非常简单,超级好用.