public static string DefaultTypeTagName(Type t)
{
if(t.IsGenericType)
{
var name = t.GetGenericTypeDefinition().Name;
if(name.Contains("`"))
{
name = name.Substring(0, name.IndexOf("`"));
}
var sb = new StringBuilder(Inflector.Pluralize(name));
foreach (var argument in t.GetGenericArguments())
{
sb.Append("Of")
.Append(DefaultTypeTagName(argument));
}
return sb.ToString();
}
return Inflector.Pluralize(t.Name);
}