首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RegisterCodeBlockAction与RegisterOperationBlockAction的区别

RegisterCodeBlockAction与RegisterOperationBlockAction的区别
EN

Stack Overflow用户
提问于 2018-07-31 19:26:20
回答 1查看 229关注 0票数 3

我目前正在学习罗斯林的DiagnosticAnalyzer API,我想问一下

1) AnalysisContext.RegisterCodeBlock

在对方法体或方法体外出现的表达式进行语义分析之后,注册要执行的动作。代码块操作报告有关代码块的诊断信息。

2) AnalysisContext.RegisterOperationBlock

在对方法体或方法体外出现的表达式进行语义分析之后,注册要执行的动作。操作块操作报告有关操作块的诊断。

这样我就可以在将来为我的用例选择合适的一个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 22:15:18

RegisterCodeBlock寄存器Action,它工作在一些以SyntaxNode表示的码块上,可以是块语法节点、语句节点、表达式节点等等。

然而,RegisterOperationBlock注册类似的Action,但在一些操作块上表示为IOperation,可以是操作块、语句操作、表达式操作等等。

SyntaxNode是AST中输入文本的对应表示,因此它依赖于语言,而不是IOperation表示一些常见的操作(操作),例如简单的赋值、方法调用、转换,并且由于它表示在公共逻辑(语义)下的操作,因此它不依赖于语言。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51620691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档