-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

「ケース」は定数値のみを受け入れるため、変数のような動的なものを配置することはできません。

PS - アプローチを変更し、ユーザーを定義済みのロールに関連付けて、それらを Enum のように一定に置き、スイッチ ケースで定義済みのロールに基づいて意思決定ツリーを作成することをお勧めします。

于 2013-06-24T14:37:14.897 に答える