SemanticEdit 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述两次编译之间的符号编辑。 例如,添加方法、更新方法、删除类型等。
public value class SemanticEdit : IEquatable<Microsoft::CodeAnalysis::Emit::SemanticEdit>
public struct SemanticEdit : IEquatable<Microsoft.CodeAnalysis.Emit.SemanticEdit>
public readonly struct SemanticEdit : IEquatable<Microsoft.CodeAnalysis.Emit.SemanticEdit>
type SemanticEdit = struct
Public Structure SemanticEdit
Implements IEquatable(Of SemanticEdit)
- 继承
-
SemanticEdit
- 实现
构造函数
属性
Instrumentation |
要应用于方法的检测更新。 如果 不为空, OldSymbol 则 和 NewSymbol 必须为非 null IMethodSymbols,并且 Kind 必须为 Update。 |
Kind |
编辑的类型。 |
NewSymbol |
来自后续编译的符号;如果编辑表示删除,则为以后编译中的包含类型的符号。 |
OldSymbol |
早期编译中的符号;如果编辑表示加法,则为 null。 |
PreserveLocalVariables |
如果 不为 null,则 SyntaxMap 为 True。 |
RuntimeRudeEdit |
将以后编译中的语法节点关联到应在运行时由为该节点生成的 IL 报告的错误(如果有)。 |
SyntaxMap |
从以后编译中的语法节点到上一次编译中的语法节点的映射;如果 PreserveLocalVariables 为 false 且不需要映射,或者当前方法的源与上一方法的源相同,则为 null。 |
方法
Equals(Object) |
描述两次编译之间的符号编辑。 例如,添加方法、更新方法、删除类型等。 |
Equals(SemanticEdit) |
SemanticEdit如果它们相同 Kind 且对应的 OldSymbol 和 NewSymbol 符号相同,则被视为相等。 对发出的元数据/IL 进行比较相等的编辑效果不一定相同。 |
GetHashCode() |
描述两次编译之间的符号编辑。 例如,添加方法、更新方法、删除类型等。 |
运算符
Equality(SemanticEdit, SemanticEdit) |
描述两次编译之间的符号编辑。 例如,添加方法、更新方法、删除类型等。 |
Inequality(SemanticEdit, SemanticEdit) |
描述两次编译之间的符号编辑。 例如,添加方法、更新方法、删除类型等。 |