根据枚举选择返回bool值

时间:2015-02-18 13:24:01

标签: c# asp.net-mvc enums

所以我无限期地搜索了广告,我只是变得更加困惑。我有一个C#MVC应用程序,我有一个类"收入"。我已经输入了我想要完成的内容,但似乎无法弄清楚。

public enum PayType
{
    Hourly, Salary, Commission
}

public class Income
{
    public PayType PayType {get; set;}
    public bool IsOvertimeEligible 
        { get 
            { if(PayType.Hourly)
                 {
                      return true;
                 }
             return false;
            }
         }
}

我试过" typeof"还有其他一些事情,但似乎无法从零开始。

非常感谢任何帮助

3 个答案:

答案 0 :(得分:4)

PayType.Hourlyenum PayType的成员,而this.PayTypethis.是可选的,但为了清晰起见而包括在内)是{{1}的成员}} class。这些都不能用作Income语句的条件,但两者的相等比较(if)会导致==这样做。因此,改变

bool

if(PayType.Hourly)

进行编译。


您可以通过删除多余的if (this.PayType == PayType.Hourly) 声明

来简化请求
if

public bool IsOvertimeEligible
{
    get { return this.PayType == PayType.Hourly; }
}

可以

if (condition)
   return true;
else
   return false;

答案 1 :(得分:2)

此:

public bool IsOvertimeEligible
{
    get
    {
        return this.PayType == PayType.Hourly;
    }
}

答案 2 :(得分:1)

试试这个:

if(PayType == PayType.Hourly)