找出特性筛选器里的 bug

来自 源生成器
C# 14 / .NET 10 进阶 4分钟 找出 1处问题

找出这个候选筛选器为什么会漏掉合法用法,并可能匹配错误特性。

csharp
using System.Linq;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Syntax;

var targets = context.SyntaxProvider.CreateSyntaxProvider(
    static (node, _) => node is ClassDeclarationSyntax declaration &&
        declaration.AttributeLists.SelectMany(list => list.Attributes)
            .Any(attribute => attribute.Name.ToString() == "Describe"),
    static (match, _) => (ClassDeclarationSyntax)match.Node);
在试验场中打开
报告错误