/// <summary> /// Returns the type's name (Actual C# name, not the funky version from /// the Name property) /// </summary> /// <param name="ObjectType">Type to get the name of</param> /// <returns>string name of the type</returns> public static string GetName(this Type ObjectType) { if (ObjectType == null) { throw new ArgumentNullException("ObjectType"); } StringBuilder Output = new StringBuilder(); if (ObjectType.Name == "Void") { Output.Append("void"); } else { if (ObjectType.Name.Contains("`")) { Type[] GenericTypes = ObjectType.GetGenericArguments(); Output.Append(ObjectType.Name.Remove(ObjectType.Name.IndexOf("`"))) .Append("<"); string Seperator = ""; foreach (Type GenericType in GenericTypes) { Output.Append(Seperator).Append(GenericType.GetName()); Seperator = ","; } Output.Append(">"); } else { Output.Append(ObjectType.Name); } } return(Output.ToString()); }
/// <summary> /// Returns the type's name (Actual C# name, not the funky version from /// the Name property) /// </summary> /// <param name="ObjectType">Type to get the name of</param> /// <returns>string name of the type</returns> public static string GetName(this Type ObjectType) { Contract.Requires <ArgumentNullException>(ObjectType != null, "ObjectType"); StringBuilder Output = new StringBuilder(); if (ObjectType.Name == "Void") { Output.Append("void"); } else { if (ObjectType.Name.Contains("`")) { Type[] GenericTypes = ObjectType.GetGenericArguments(); Output.Append(ObjectType.Name.Remove(ObjectType.Name.IndexOf("`", StringComparison.InvariantCulture))) .Append("<"); string Seperator = ""; foreach (Type GenericType in GenericTypes) { Output.Append(Seperator).Append(GenericType.GetName()); Seperator = ","; } Output.Append(">"); } else { Output.Append(ObjectType.Name); } } return(Output.ToString()); }
/// <summary> /// Returns the type's name (Actual C# name, not the funky version from the Name property) /// </summary> /// <param name="ObjectType">Type to get the name of</param> /// <returns>string name of the type</returns> public static string GetName(this Type ObjectType) { Contract.Requires <ArgumentNullException>(ObjectType != null, "ObjectType"); var Output = new StringBuilder(); if (ObjectType.Name == "Void") { Output.Append("void"); } else { Output.Append(ObjectType.DeclaringType == null ? ObjectType.Namespace : ObjectType.DeclaringType.GetName()) .Append("."); if (ObjectType.Name.Contains("`")) { var GenericTypes = ObjectType.GetGenericArguments(); Output.Append(ObjectType.Name.Remove(ObjectType.Name.IndexOf("`", StringComparison.OrdinalIgnoreCase))) .Append("<"); string Seperator = ""; foreach (Type GenericType in GenericTypes) { Output.Append(Seperator).Append(GenericType.GetName()); Seperator = ","; } Output.Append(">"); } else { Output.Append(ObjectType.Name); } } return(Output.ToString().Replace("&", "")); }