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('>'); }
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()); }