private static void AppendTypeName(Type type, StringBuilder builder, bool expandGenericArgs) { if (type.IsNested) { XmlCommentsIdHelper.AppendTypeName(type.DeclaringType, builder, false); builder.Append("."); } builder.Append(type.Name); if (expandGenericArgs) { XmlCommentsIdHelper.ExpandGenericArgsIfAny(type, builder); } }
public static void ExpandGenericArgsIfAny(Type type, StringBuilder builder) { if (type.IsGenericType) { StringBuilder stringBuilder = new StringBuilder("{"); Type[] genericArguments = type.GetGenericArguments(); Type[] array = genericArguments; for (int i = 0; i < array.Length; i++) { Type type2 = array[i]; XmlCommentsIdHelper.AppendFullTypeName(type2, stringBuilder, true); stringBuilder.Append(","); } stringBuilder.Replace(",", "}", stringBuilder.Length - 1, 1); builder.Replace(string.Format("`{0}", genericArguments.Length), stringBuilder.ToString()); return; } if (type.IsArray) { XmlCommentsIdHelper.ExpandGenericArgsIfAny(type.GetElementType(), builder); } }