正确使用枚举与否

时间:2012-02-22 00:59:20

标签: c# asp.net-mvc-3 enums

我正在尝试设置一些数据库表,并为教师,学生,课程,学期的主题创建一些模型类。这适用于MVC3 Web App。如果我有一个userprofile实体和模型类。如果我在userprofile模型类中创建了一个分类枚举,并且该枚举将是教师或学生,那么它是否有效。 Idk如果这可行。我真的不知道如何做到这一点b / c我将需要学生注册的课程和老师,我需要他/她正在教授和教授的课程。任何建议将不胜感激。

例如,在userprofile类中可能有这样的东西:

    class UserProfile {

         public Guid UserID { get; set; }
         public string fname { get; set; }
         public string lname { get; set; }
         public Classification classification { get; set; }

     }

    public enum Classification {

        Student, Teacher
    }

2 个答案:

答案 0 :(得分:5)

您的情况是为派生类型量身定做的。

UserProfile应该是抽象的,有两种称为TeacherStudent的具体类型。
这些继承的类型可以各自具有不同的属性。

答案 1 :(得分:1)

你的设计对我来说很好看。

您也可以使用布尔变量,例如UserIsPatientUserIsTeacher,但是通过使用枚举,您创建了一些可以在以后更改需求时轻松扩展的内容 - 例如,如果你想增加学生老师,实习生或其他什么。