Оптимизировать создание объекта в словаре c # - PullRequest
0 голосов
/ 05 октября 2018

Мой код добавляет объекты в словарь.У меня есть более 20 экземпляров, чтобы добавить в словарь.Как я могу оптимизировать код?

public static Dictionary<string, Func<ReportsFactoryService>> objects =
           new Dictionary<string, Func<ReportsFactoryService>>
               {
                        {"level1", () => new TrialBalanceLevel1Service()},
                        {"level2", () => new TrialBalanceLevel2Service()},
                        {"level3", () => new TrialBalanceLevel3Service()},
                        {"level4", () => new TrialBalanceLevel4Service()},
                        {"level4-RSA", () => new TrialBalanceLevel4_ACSService()},
                        {"level4-ACS", () => new TrialBalanceLevel4_RSAService()}
               };

    public IValidationDictionary SetModelState { set { validationDictionary = value; } }

    public ReportsFactoryService CreateObject(string businessObjectName)
    {
        if (string.IsNullOrWhiteSpace(businessObjectName))
        {
            return new ReportsFactoryService();
        }

        Func<ReportsFactoryService> objectCtor = null;
        objects.TryGetValue(businessObjectName.ToLower(), out objectCtor);

        return objectCtor != null ? objectCtor() : new ReportsFactoryService();
    }
...