public static string GetCommentIdForType(Type type) { StringBuilder builder = new StringBuilder("T:"); XmlCommentsIdHelper.AppendFullTypeName(type, builder, false); return(builder.ToString()); }
public static string GetCommentIdForProperty(PropertyInfo propertyInfo) { StringBuilder builder = new StringBuilder("P:"); XmlCommentsIdHelper.AppendFullTypeName(propertyInfo.DeclaringType, builder, false); builder.Append("."); XmlCommentsIdHelper.AppendPropertyName(propertyInfo, builder); return(builder.ToString()); }
public static string GetCommentIdForMethod(MethodInfo methodInfo) { StringBuilder builder = new StringBuilder("M:"); XmlCommentsIdHelper.AppendFullTypeName(methodInfo.DeclaringType, builder, false); builder.Append("."); XmlCommentsIdHelper.AppendMethodName(methodInfo, builder); return(builder.ToString()); }
private static void AppendMethodName(MethodInfo methodInfo, StringBuilder builder) { builder.Append(methodInfo.Name); ParameterInfo[] parameters = methodInfo.GetParameters(); if (parameters.Length == 0) { return; } builder.Append("("); foreach (ParameterInfo parameterInfo in parameters) { XmlCommentsIdHelper.AppendFullTypeName(parameterInfo.ParameterType, builder, true); builder.Append(","); } builder.Replace(",", ")", builder.Length - 1, 1); }
public static void ExpandGenericArgsIfAny(Type type, StringBuilder builder) { if (type.IsGenericType) { StringBuilder builder1 = new StringBuilder("{"); Type[] genericArguments = type.GetGenericArguments(); foreach (Type type1 in genericArguments) { XmlCommentsIdHelper.AppendFullTypeName(type1, builder1, true); builder1.Append(","); } builder1.Replace(",", "}", builder1.Length - 1, 1); builder.Replace(string.Format("`{0}", (object)genericArguments.Length), builder1.ToString()); } else { if (!type.IsArray) { return; } XmlCommentsIdHelper.ExpandGenericArgsIfAny(type.GetElementType(), builder); } }