1

如何使用 C# 源生成器获取对记录的所有引用?反之亦然,如何通过引用获取类的定义?(哪个更快?)

[GenerateAttribute]
public record Test
{   
    public static string Property { get; }
}

这是对它的引用:

var _ = Test.Property;

我尝试了一种方法:从 GeneratorSyntaxContext 我分析语法节点是否是带有 GenerateAttribute 的记录。我记得这些类名,当我遇到 InvocationExpressionSyntax 时,我会检查名称标识符是否在记住的名称中。这种方法是有缺陷的,因为调用可能比定义更早被发现。

我想我必须以某种方式从每个参考中获取语义模型?还是更容易从类定义的语义模型中找到所有引用?提前致谢。

4

0 回答 0