Home
Insert
Update snippet 'Nice formatting of type names'
Title
Description
Add extension to System.Type that returns the name of type including generic arguments in a nice readable format. It returns only short names of generic type and type arguments.
Source code
type System.Type with /// Returns nicely formatted name of the type member t.NiceName = let sb = new System.Text.StringBuilder() let rec build (t:System.Type) = if t.IsGenericType then // Remove the `1 part from generic names let tick = t.Name.IndexOf('`') let name = t.Name.Substring(0, tick) Printf.bprintf sb "%s" t.Name Printf.bprintf sb "<" // Print generic type arguments recursively let args = t.GetGenericArguments() for i in 0 .. args.Length - 1 do if i <> 0 then Printf.bprintf sb ", " build args.[i] Printf.bprintf sb ">" else // Print ordiary type name Printf.bprintf sb "%s" t.Name build t sb.ToString()
Tags
extension
system.type
formatting
extension
system.type
formatting
Author
Link
Reference NuGet packages
If your snippet has external dependencies, enter the names of NuGet packages to reference, separated by a comma (
#r
directives are not required).
Update