我想从case语句中删除硬代码值。现在我为不同的用户提供一些硬代码值,例如
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
获取?
答案 0 :(得分:2)
“case”只接受常量值,因此无法放置变量之类的动态内容。
P.S。 - 您最好更改您的方法,并将用户与预定义角色关联起来,使它们像Enum一样保持不变,并根据切换案例中的预定义角色制定决策树。