Как я могу получить ObjectCreationExpressionSyntax объекта, который передается в конструктор? - PullRequest
0 голосов
/ 04 июня 2018

Допустим, у нас есть определение класса в нашем исходном коде.

class Some
{
    private IFoo Foo { get; }

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

Если вы откроете визуализатор синтаксиса, будет только SimpleAssignmenExpressionSyntax.Фактический объект, который передается конструктору, инициализируется где-то еще.SymbolFinder.FindAllReferences здесь вполне может помочь.Вы можете получить все ссылки на символ IFoo и затем проверить дочерние узлы его родителя, если они имеют ObjectCreationExpressionSyntax.Но это справедливо, только если у вас есть один экземпляр создания этого объекта во всем проекте.Как мы можем найти экземпляр, переданный конструктору?Кажется, мне нужно как-то имитировать поток выполнения.

...