獲得語義模型
有一些方法來獲得 sematic 模型。
-
來自
Document
級Document document = ...; SemanticModel semanticModel = await document.GetSemanticModelAsync();
-
來自
Compilation
classCSharpCompilation compilation = ...; var semanticModel = await compilation.GetSemanticModel(syntaxTree);
-
從一個
AnalysisContext
。例如,在DiagnosticAnalyzer
中你可以做到:public override void Initialize(AnalysisContext context) { context.RegisterSemanticModelAction(x => { var semanticModel = x.SemanticModel; // Do magical magic here. }); }