If statement 重构If语句的最佳方法

If statement 重构If语句的最佳方法,if-statement,coding-style,refactoring,If Statement,Coding Style,Refactoring,我有以下代码: if (adSetting.Core_standard_application_role) { rc = new IntegrationRoleCompany(); rc.RoleCompany = firmSettings.FirmNo.To

我有以下代码:

                            if (adSetting.Core_standard_application_role)
                            {
                                rc = new IntegrationRoleCompany();
                                rc.RoleCompany = firmSettings.FirmNo.ToString();
                                rc.RoleName = "Core standard application role";
                                rcList.Add(rc);
                            }
                            if (adSetting.Expense_Invoice_Application_Access)
                            {
                                rc = new IntegrationRoleCompany();
                                rc.RoleCompany = firmSettings.FirmNo.ToString();
                                rc.RoleName = "Expense Invoice Application Access";
                                rcList.Add(rc);
                            }
问题是我在检查addSetting.Property的地方有20个if检查。现在谈问题:


重构这个if语句的最佳和最有效的方法是什么

您可以有一个20x2数组,带有adSetting.STUFF\u AS\u STRING->rc.RoleName映射

然后在for循环中循环数组

伪代码:

for (var i=0; i<theArray.length; i++) {
    adSettingStr, RoleName = theArray[i]
    if (adSetting[adSettingStr]) {
        rc = new IntegrationRoleCompany();
        rc.RoleCompany = firmSettings.FirmNo.ToString();
        rc.RoleName = RoleName;
        rcList.Add(rc);
    }

}

for(var i=0;iThanks,智能解决方案:)欢迎您。。。这是我第一次看到“语言无关的问题。。。与标准“为什么X不工作”相比,这非常有趣