Скажем, у меня есть базовый класс B
и производный класс EB
. Как я могу проверить, какой базовый конструктор вызывает каждый конструктор EB
?
Можно ли это сделать с помощью семантической модели?
Код, иллюстрирующий мою попытку, выглядит следующим образом:
var typeSymbol = semanticModel.GetDeclaredSymbol(classDeclarationSyntax);
IMethodSymbol ctor1 = typeSymbol.Constructors[0];
IMethodSymbol ctor2 = typeSymbol.Constructors[1];
Я не могу отследить какой-либо публичный интерфейс (например, IConstructorSymbol
), поэтому я могу преобразовать ctor0
и ctor1
в него.