private static void AppendHumanReadableName(this Type type, StringBuilder builder)
{
if (type.IsGenericType)
{
builder.Append(type.Name.Remove(type.Name.LastIndexOf('`')));
builder.Append("<");
var i = 0;
var genericArgs = type.GetGenericArguments();
foreach (var innerType in genericArgs)
{
innerType.AppendHumanReadableName(builder);
if (i != genericArgs.Length - 1)
{
builder.Append(", ");
}
i++;
}
builder.Append(">");
}
else
{
builder.Append(type.Name);
}
}
}