private static void CheckParameter(ParameterInfo para, MethodConfig info) { var paraInfo = new FieldConfig { Name = para.Name, TypeName = para.ParameterType.GetTypeName() }; if (para.HasDefaultValue) { paraInfo.DefaultValue = para.DefaultValue == null ? "null" : para.DefaultValue.ToString(); } GetExtendValue(para, paraInfo); CheckAttributes(paraInfo, para.GetCustomAttributesData()); info.Argument.Add(paraInfo.Name, paraInfo); }
private MethodConfig GetConfig(Type type, MethodInfo method) { var info = new MethodConfig { Name = method.Name }; GetInfo(info, type, method); foreach (var para in method.GetParameters()) { CheckParameter(para, info); } if (method.ReturnType != typeof(void)) { info.Result = new FieldConfig { TypeName = method.ReturnType.GetTypeName() }; } return(info); }
private void GetConstructors(Type type, TypeConfig config) { var ctors = type.GetConstructors(); int cnt = 1; foreach (var method in ctors) { var info = new MethodConfig { Name = $"ctor.{cnt++}" }; foreach (var para in method.GetParameters()) { CheckParameter(para, info); } if (info.Argument.Count == 0) { info.Argument = null; } config.Methods.Add(info); } }