当前位置: 代码迷 >> ASP.NET >> 工厂模式下,怎么让子类继承基类中的 枚举 类型
  详细解决方案

工厂模式下,怎么让子类继承基类中的 枚举 类型

热度:6239   发布时间:2013-02-25 00:00:00.0
工厂模式下,如何让子类继承基类中的 枚举 类型?
基类:
public   abstract   class   User
        {
                //抽象的用户级别,不管子类是什么,总会存在以下用户:
                [Description( "用户级别 ")]
                public   enum   UserLevel
                {
                        [Description( "老板 ")]
                        Boss,
                        [Description( "系统管理员 ")]
                        Admin
                }
           
                ......
        }

子类:
public   abstract   class   CompanyUser   :   User
        {
                //继承的用户级别,子类是公司,存在以下用户:
                [Description( "用户级别 ")]
                public   enum   UserLevel
                {
                        [Description( "默认用户 ")]
                        Normal,
                        [Description( "报表用户 ")]
                        Reporter,
                        [Description( "主管 ")]
                        Director,
                        [Description( "经理 ")]
                        Manager,
                        [Description( "财务人员 ")]
                        Accountant,
                        [Description( "财务经理 ")]
                        AccountantManager,
                        [Description( "老板 ")]
                        Boss,
                        [Description( "系统管理员 ")]
                        Admin
                }

                ......
        }


现在的问题是enum类型不能标记为abstract或virtual的,那我如何实现用子类的UsersLevel替换基类的UsersLevel?
换句话说,如何实现以下的代码:

User   user   =   new   CompanyUser();   //这句当然没错
  相关解决方案