Convert to ImmutableArray<T> to avoid extra LINQ evaluation

This commit is contained in:
Dustin Campbell 2023-04-14 15:19:55 -07:00
Родитель 4981b46ff3
Коммит 43b1176f39
1 изменённых файлов: 11 добавлений и 3 удалений

Просмотреть файл

@ -64,9 +64,17 @@ internal class DefaultTagHelperDescriptorFactory
private static void AddTagMatchingRules(INamedTypeSymbol type, TagHelperDescriptorBuilder descriptorBuilder)
{
var targetElementAttributes = type
.GetAttributes()
.Where(static attribute => attribute.AttributeClass.HasFullName(TagHelperTypes.HtmlTargetElementAttribute));
using var builder = new PooledArrayBuilder<AttributeData>();
foreach (var attribute in type.GetAttributes())
{
if (attribute.AttributeClass.HasFullName(TagHelperTypes.HtmlTargetElementAttribute))
{
builder.Add(attribute);
}
}
var targetElementAttributes = builder.ToImmutable();
// If there isn't an attribute specifying the tag name derive it from the name
if (!targetElementAttributes.Any())