in src/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/Extensions/TypeExtensions.cs [396:421]
public static string GetOpenApiReferenceId(this Type type, bool isDictionary, bool isList, NamingStrategy namingStrategy = null)
{
if (namingStrategy.IsNullOrDefault())
{
namingStrategy = new DefaultNamingStrategy();
}
if (isDictionary)
{
var name = type.Name.EndsWith("[]") ? "Dictionary_" + type.GetOpenApiSubTypeName(namingStrategy) : type.Name.Split('`').First() + "_" + type.GetOpenApiSubTypeName(namingStrategy);
return namingStrategy.GetPropertyName(name, hasSpecifiedName: false);
}
if (isList)
{
var name = type.Name.EndsWith("[]") ? "List_" + type.GetOpenApiSubTypeName(namingStrategy) : type.Name.Split('`').First() + "_" + type.GetOpenApiSubTypeName(namingStrategy);
return namingStrategy.GetPropertyName(name, hasSpecifiedName: false);
}
if (type.IsGenericType)
{
return namingStrategy.GetPropertyName(type.Name.Split('`').First(), false) + "_" +
string.Join("_", type.GenericTypeArguments.Select(a => namingStrategy.GetPropertyName(a.Name, false)));
}
return namingStrategy.GetPropertyName(type.Name, hasSpecifiedName: false);
}