示例#1
0
        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);
        }
示例#2
0
        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);
        }