Example #1
0
        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));
        }
Example #2
0
        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());
        }