-1

我想从案例语句中删除硬代码值。现在我正在为不同的用户提供一些硬代码值,例如

 ScheduledUtility.ClsISession.OpenSession();
            switch (Convert.ToString(System.Security.Principal.WindowsIdentity.GetCurrent().Name))
            {
                case @"suniln":

                    AP.ClsBatchInvoice objBatchInvoice = new AP.ClsBatchInvoice(ScheduledUtility.ClsISession.mySession);
                    objBatchInvoice.ReportId = new Guid("6D783F3C-206C-6576-7273-696F6E3D2231");
                    objBatchInvoice.PDFFileName = "BatchInvoice";
                    objBatchInvoice.VBatchInvoice();
  break;


                case @"vijayk":

                    VendorInvoice_svc objvendor = new VendorInvoice_svc(objsession.mySession);
                    objvendor.GetVenderReports();
                    AP.Aging_svc objaging = new AP.Aging_svc(ScheduledUtility.ClsISession.mySession);
                    objaging.viewerRptAging_Load();
break;

如何编写案例值并从中获取environment.username

4

1 回答 1

2

“case”只接受常量值,因此不可能放置像变量这样的动态东西。

PS - 你最好改变你的方法并将用户与预定义的角色相关联,让他们像 Enum 一样保持不变,并根据 switch case 中的预定义角色制作你的决策树。

于 2013-06-24T14:37:14.897 回答