Пример #1
0
        protected internal virtual IDictionary <string, T> getVariablesMap(ICollection <string> variableNames)
        {
            if (variableNames == null)
            {
                return(VariablesMap);
            }

            IDictionary <string, T> result = new Dictionary <string, T>();

            if (Initialized)
            {
                foreach (string variableName in variableNames)
                {
                    if (variables.ContainsKey(variableName))
                    {
                        result[variableName] = variables[variableName];
                    }
                }
            }
            else
            {
                // in this case we don't initialize the variables map,
                // otherwise it would most likely contain only a subset
                // of existing variables
                foreach (T variable in variablesProvider.provideVariables(variableNames))
                {
                    result[variable.Name] = variable;
                }
            }

            return(result);
        }