예제 #1
0
        public virtual void Merge(ParameterValuesCache parameterValuesCache, PathCache <IParameter> parameterCache)
        {
            var numberOfNewItems = parameterValuesCache.numberOfValuesPerPath;
            var currentCount     = numberOfValuesPerPath;

            foreach (var parameterPath in parameterValuesCache.AllParameterPaths())
            {
                if (!Has(parameterPath))
                {
                    addDefaultValues(parameterCache, parameterPath, currentCount);
                }

                ParameterValuesFor(parameterPath).Merge(parameterValuesCache.ParameterValuesFor(parameterPath));
            }

            //fill up the one missing
            foreach (var parameterPath in AllParameterPaths())
            {
                if (!parameterValuesCache.Has(parameterPath))
                {
                    addDefaultValues(parameterCache, parameterPath, numberOfNewItems);
                }
            }
        }
예제 #2
0
 public virtual string[] AllParameterPaths() => ParameterValuesCache.AllParameterPaths();