我将开发一个会员系统,该会员系统将具有超过7个级别的用户角色以及许多其他用户功能。例如,对一个城市具有3级许可,而对另一个城市具有5级许可。

是否可以比较两个对象,就好像它们具有数值一样?例如,将用户的角色与某个级别的角色进行比较。

if (objUser.role >= userRole.userLevel3){
    //do something
}


权限规则比我简要解释的要复杂得多。因此,比较用户角色和最低费用是我的目标。我是该项目的首席开发人员,我的工作是为经验不足的开发人员提供易于使用的会员系统。

请考虑以下问题:大声思考,我欢迎各种想法/讨论。

最佳答案

C#使您可以重载比较运算符,因此这绝对是可能的。您可以重载运算符对<>=(它们必须成对重载),如下所示:

class AccessLevel {
    ...
    public static bool operator <=(AccessLevel x, AccessLevel y) {
        ...
    }
    public static bool operator >(AccessLevel x, AccessLevel y) {
        ...
    }
}

10-08 06:43