示例#1
0
        private static void ProperName(Type t, bool fullName, StringBuilder b)
        {
            string str = (fullName ? t.FullName : t.Name);

            if (!t.IsGenericType)
            {
                b.Append(str);
                return;
            }
            Type[] genericArguments = t.GetGenericArguments();
            str = str.Substring(0, str.IndexOf('\u0060'));
            b.Append(str);
            b.Append('<');
            if (!t.IsGenericTypeDefinition)
            {
                ApexReflection.ProperName(genericArguments[0], fullName, b);
                for (int i = 1; i < (int)genericArguments.Length; i++)
                {
                    b.Append(',');
                    ApexReflection.ProperName(genericArguments[i], fullName, b);
                }
            }
            else
            {
                b.Append(',', (int)genericArguments.Length);
            }
            b.Append('>');
        }
示例#2
0
        public static string ProperName(this Type t, bool fullName)
        {
            if (!t.IsGenericType)
            {
                if (!fullName)
                {
                    return(t.Name);
                }
                return(t.FullName);
            }
            StringBuilder stringBuilder = new StringBuilder();

            ApexReflection.ProperName(t, fullName, stringBuilder);
            return(stringBuilder.ToString());
        }