private static void AddIntSubParams(ICollection<IntParam> result, Parameters sp)
 {
     foreach (Parameter p in sp.GetAllParameters()){
         if (p is IntParam){
             result.Add((IntParam) p);
         } else if (p is ParameterWithSubParams){
             AddIntSubParams(result, ((ParameterWithSubParams) p).GetSubParameters());
         }
     }
 }
예제 #2
0
 private static void AddDoubleSubParams(ICollection <DoubleParam> result, Parameters sp)
 {
     foreach (Parameter p in sp.GetAllParameters())
     {
         if (p is DoubleParam)
         {
             result.Add((DoubleParam)p);
         }
         else if (p is ParameterWithSubParams)
         {
             AddDoubleSubParams(result, ((ParameterWithSubParams)p).GetSubParameters());
         }
     }
 }
예제 #3
0
        private static Parameter FindParameter(string paramName, Parameters parameters)
        {
            Parameter p = parameters.GetParamNoException(paramName);

            if (p != null)
            {
                return(p);
            }
            foreach (Parameter px in parameters.GetAllParameters())
            {
                if (px is ParameterWithSubParams)
                {
                    Parameters ps = ((ParameterWithSubParams)px).GetSubParameters();
                    Parameter  pq = FindParameter(paramName, ps);
                    if (pq != null)
                    {
                        return(pq);
                    }
                }
            }
            return(null);
        }
예제 #4
0
 private static Parameter FindParameter(string paramName, Parameters parameters)
 {
     Parameter p = parameters.GetParamNoException(paramName);
     if (p != null) {
         return p;
     }
     foreach (Parameter px in parameters.GetAllParameters()) {
         if (px is ParameterWithSubParams) {
             Parameters ps = ((ParameterWithSubParams)px).GetSubParameters();
             Parameter pq = FindParameter(paramName, ps);
             if (pq != null) {
                 return pq;
             }
         }
     }
     return null;
 }