如何获取传递给构造函数的对象的ObjectCreationExpressionSyntax?

时间:2018-06-04 19:56:38

标签: c# roslyn

假设我们的源代码中有一个类定义。

class Some
{
    private IFoo Foo { get; }

    public Some(IFoo foo)
    {
        Foo = foo;
    }
}

如果您打开语法可视化工具,则只有SimpleAssignmenExpressionSyntax。传递给构造函数的实际对象在其他地方初始化。 SymbolFinder.FindAllReferences在这里可以提供帮助。您可以获取对IFoo符号的所有引用,然后检查其父节点的子节点是否有ObjectCreationExpressionSyntax。但只有在整个项目中创建此对象的单个实例时,这才有效。我们怎样才能找到传递给构造函数的实例?似乎我需要以某种方式模拟执行流程。

0 个答案:

没有答案