Example #1
0
        /// <summary>
        ///     Gets the enclosing character.
        /// </summary>
        /// <param name="start">if set to <c>true</c> [start].</param>
        /// <param name="genericChar">The generic character.</param>
        /// <returns></returns>
        private static char GetEnclosingChar(bool start, EnclosingGenericChar genericChar)
        {
            switch (genericChar)
            {
            case EnclosingGenericChar.Brackets:
                return(start ? '[' : ']');

            case EnclosingGenericChar.MathSigns:
                return(start ? '<' : '>');
            }

            return(default);
Example #2
0
        /// <summary>
        ///     Gets the name of the friendly type.
        /// </summary>
        /// <param name="t">The t.</param>
        /// <param name="genericChar">The generic character.</param>
        /// <returns></returns>
        public static string GetFriendlyTypeName(this Type t,
                                                 EnclosingGenericChar genericChar = EnclosingGenericChar.Brackets)
        {
            var typeName    = t.Name.StripStartingWith("`");
            var genericArgs = t.GetGenericArguments();

            if (genericArgs.Length > 0)
            {
                typeName += GetEnclosingChar(true, genericChar);
                foreach (var genericArg in genericArgs)
                {
                    typeName += genericArg.GetFriendlyTypeName(genericChar) + ", ";
                }
                typeName = typeName.TrimEnd(',', ' ') + GetEnclosingChar(false, genericChar);
            }

            return(typeName);
        }
Example #3
0
 /// <summary>
 ///     Gets the name of the friendly type.
 /// </summary>
 /// <param name="t">The t.</param>
 /// <param name="fullName">if set to <c>true</c> [full name].</param>
 /// <param name="genericChar">The generic character.</param>
 /// <returns></returns>
 public static string GetFriendlyTypeName(this Type t, bool fullName       = true,
                                          EnclosingGenericChar genericChar = EnclosingGenericChar.Brackets)
 {
     return(t.IsGenericType ? t.Namespace + "." + t.GetFriendlyTypeName(genericChar) : t.FullName);
 }