public static string AAA(MethodInfo mi) { var p = mi.GetParameters(); List <object> o = new List <object>(); o.Add(mi.IsStatic ? "static" : "instance"); o.Add(mi.IsSpecialName ? "special" : "normal"); o.Add(TypesUtil.TypeToString(mi.DeclaringType)); o.Add(TypesUtil.TypeToString(mi.ReflectedType)); o.Add(mi.Name); o.Add(p.Length); o.Add(TypesUtil.TypeToString(mi.ReturnType)); foreach (var i in p) { o.Add(i.Name); o.Add(TypesUtil.TypeToString(i.ParameterType)); } return(string.Join("\t", o)); }
public static string GetMethodHeader(this MethodInfo method) { var builder = new StringBuilder(); builder.Append(GetVisibility(method.IsPublic, method.IsPrivate) + " "); builder.Append(TypesUtil.TypeToString(method.ReturnType) + " "); builder.Append(method.Name); builder.Append("("); bool addC = false; foreach (var a in method.GetParameters()) { if (a.IsDefined(typeof(ParamArrayAttribute))) { builder.Append("params "); } if (addC) { builder.Append(", "); } addC = true; if (a.IsOut) { builder.Append("out "); } else if (a.IsRetval) { builder.AppendFormat("ref"); } builder.AppendFormat("{0} {1}", TypesUtil.TypeToString(a.ParameterType), a.Name); if (a.HasDefaultValue) { builder.AppendFormat(" = {0}", TypesUtil.CSValueToString(a.DefaultValue)); } } builder.Append(")"); return(builder.ToString()); }