0
私は基底クラスB
と派生したEB
クラスを持っていると言います。 EB
のコンストラクタが呼び出す基本コンストラクタを確認するにはどうすればよいですか?Roslynによるコンストラクタチェーンの検査
セマンティックモデルを介して行うことは可能ですか?
次のように私の試みがある示しコード:
var typeSymbol = semanticModel.GetDeclaredSymbol(classDeclarationSyntax);
IMethodSymbol ctor1 = typeSymbol.Constructors[0];
IMethodSymbol ctor2 = typeSymbol.Constructors[1];
私は任意のパブリックインターフェイス(のようなIConstructorSymbol
)を追跡することはできませんので、私はctor0
とctor1
を唱えられます。
これはメタデータの一部ではありません。あなたはソースが必要です。 – SLaks
さて、私は何とかして、上限コンストラクタに達するまで、シンタックスに戻り、その後に再びセマンティクスに戻り、次に構文に戻ることによって、限界を回避しました。私の質問は、セマンティクスがこの種の情報(コンストラクタの連鎖)を保存しない理由です。それは意味論的モデルが何であるのでしょうか? – user3284063