Допустим, у нас есть определение класса в нашем исходном коде.
class Some
{
private IFoo Foo { get; }
public Some(IFoo foo)
{
Foo = foo;
}
}
Если вы откроете визуализатор синтаксиса, будет только SimpleAssignmenExpressionSyntax
.Фактический объект, который передается конструктору, инициализируется где-то еще.SymbolFinder.FindAllReferences
здесь вполне может помочь.Вы можете получить все ссылки на символ IFoo
и затем проверить дочерние узлы его родителя, если они имеют ObjectCreationExpressionSyntax
.Но это справедливо, только если у вас есть один экземпляр создания этого объекта во всем проекте.Как мы можем найти экземпляр, переданный конструктору?Кажется, мне нужно как-то имитировать поток выполнения.