List <ParameterData> GetParameterData(MethodInfo _method) { List <ParameterData> parameterDatas = new List <ParameterData>(); XmlNodeList paramNodes = nodeList.FindMethodMemberWithName(_method.GetFullName())?.SelectNodes("param"); ParameterInfo[] parameters = _method.GetParameters(); for (int iParameter = 0; iParameter < parameters.Length; iParameter++) { ParameterInfo parameter = parameters[iParameter]; ParameterData parameterData = new ParameterData(); parameterData.parameterInfo = parameter; parameterData.xmlData = GetXmlData(paramNodes?.FindMemberWithName(parameter.Name)); parameterDatas.Add(parameterData); } return(parameterDatas); }
string ParamFragments(MethodData _method) { string retStr = ""; if (_method.parameters.Count > 0) { retStr = paramsFragment; } for (int i = 0; i < _method.parameters.Count; i++) { ParameterData param = _method.parameters[i]; string str = paramFragment; string defaultValue = param.parameterInfo.DefaultValue?.ToString() ?? ""; if (defaultValue == null || defaultValue == "") { defaultValue = " "; } str = Regex.Replace(str, Tags.param_modifiers.Str(), param.parameterInfo.GetModifiersString()); str = Regex.Replace(str, Tags.param_type.Str(), param.parameterInfo.ParameterType.GetMarkdownTypeName()); str = Regex.Replace(str, Tags.param_name.Str(), param.parameterInfo.Name); str = Regex.Replace(str, Tags.escaped_param_name.Str(), param.parameterInfo.Name.MarkdownEscape()); str = Regex.Replace(str, Tags.param_default_value.Str(), defaultValue); str = Regex.Replace(str, Tags.param_desc.Str(), param.xmlData.summary); str += "\n"; int endTagIndex = Regex.Match(retStr, Tags.END_PARAM.Str()).Index; retStr = retStr.Insert(endTagIndex, str); } return(retStr); }