Given a type instance, how to get generic type name in C#?
Given a generic type, including List<string> Nullable<Int32> how do i get a generic name for C#? var t = typeof(Nullable<DateTime>); var s = t.GetGenericTypeDefinition().Name + "<" + t.GetGenericArguments()[0].Name + ">"; This yields "Nullable`1<DateTime>" , but i need "Nullable<DateTime>" . I see you already accepted an answer, but honestly, that answer isn't going to be enough to do this reliably if you just combine what's in there with what you already wrote. It's on the right track, but your code will only work for generic types with exactly one generic parameter, and it will only work