C#中枚举类型在switch语句中值对照问题

    技术2022-05-19  18

    如例子所示,在数据库中存储的是枚举类型的名称而不是值,要如何对照呢?

    首先需要进行类型转换,枚举类型提供了parse函数,用法如下:

     

    //删除细目表

                switch ((BaseTableEnum)Enum.Parse(typeof(BaseTableEnum), "entity.Biaohao"))

                {

                    case BaseTableEnum.DC01:

                        DC01TableManager dc01 = new DC01TableManager();

                        ids = dc01.GetIds(DC01TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc01.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC02:

                        DC02TableManager dc02 = new DC02TableManager();

                        ids = dc02.GetIds(DC02TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc02.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC03:

                        DC03TableManager dc03 = new DC03TableManager();

                        ids = dc03.GetIds(DC03TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc03.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC04:

                        DC01TableManager dc04 = new DC01TableManager();

                        ids = dc04.GetIds(DC04TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc04.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC05:

                        DC01TableManager dc05 = new DC01TableManager();

                        ids = dc05.GetIds(DC05TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc05.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC06:

                        DC01TableManager dc06 = new DC01TableManager();

                        ids = dc06.GetIds(DC06TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc06.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC07:

                        DC07TableManager dc07 = new DC07TableManager();

                        ids = dc07.GetIds(DC07TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc07.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC11:

                        DC11TableManager dc11 = new DC11TableManager();

                        ids = dc11.GetIds(DC11TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc11.BatchDelete(ids);

                        break;

                    case BaseTableEnum.DC12:

                        DC12TableManager dc12 = new DC12TableManager();

                        ids = dc12.GetIds(DC12TableTable.FieldBiaobianhao, entity.Id);

                        returnValue = dc12.BatchDelete(ids);

                        break;

                    default:

                        break;

                }


    最新回复(0)