// Search through the parameter definitions and return the matching // ParameterDefn structure. // Case does not matter as names are compared after converting to lower case. // Returns 'false' if the parameter is not found. public bool TryGetParameter(string paramName, out ParameterDefnBase defn) { bool ret = false; ParameterDefnBase foundDefn = null; string pName = paramName.ToLower(); foreach (ParameterDefnBase parm in ParameterDefinitions) { string parmL = parm.name.ToLower(); if (pName == parmL) { foundDefn = parm; ret = true; } if (ret == false && parm.symbols != null) { foreach (string sym in parm.symbols) { if (sym == pName) { foundDefn = parm; ret = true; break; } } } if (ret) break; } defn = foundDefn; return ret; }
// Search through the parameter definitions and return the matching // ParameterDefn structure. // Case does not matter as names are compared after converting to lower case. // Returns 'false' if the parameter is not found. internal bool TryGetParameter(string paramName, out ParameterDefnBase defn) { bool ret = false; ParameterDefnBase foundDefn = null; string pName = paramName.ToLower(); foreach (ParameterDefnBase parm in ParameterDefinitions) { if (pName == parm.name.ToLower()) { foundDefn = parm; ret = true; break; } } defn = foundDefn; return(ret); }
/// <summary> /// Add this parameter to the defintion. /// Internally, names are alway lower case. /// </summary> /// <param name="pDefn"></param> public void Add(ParameterDefnBase pDefn) { _params.Add(pDefn.name.ToLower(), pDefn); }
/// <summary> /// Try to get the definition of the parameter. /// Internally, parameter names are all lower case so that's not a problem /// </summary> /// <param name="pParamName">name of the parameter</param> /// <param name="pDefn">returns the definition block for this parameter</param> /// <returns>'true' if the parameter was found</returns> public bool TryGetParameter(string pParamName, out ParameterDefnBase pDefn) { string paramNameLower = pParamName.ToLower(); return(_params.TryGetValue(paramNameLower, out pDefn)); }