語言

SemanticEdit 結構

定義

描述兩個編譯之間的符號編輯。 例如,新增方法、方法的更新、移除型別等。

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
實作

建構函式

名稱 Description
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Boolean, MethodInstrumentation)
已淘汰.

初始化 SemanticEdit 的執行個體。

SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Boolean)
已淘汰.

初始化 SemanticEdit 的執行個體。

SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Func<SyntaxNode,Nullable<RuntimeRudeEdit>>, MethodInstrumentation)

初始化 SemanticEdit 的執行個體。

屬性

名稱 Description
Instrumentation

要套用至方法的檢測更新。 如果 不是空的, OldSymbol 且 NewSymbol 必須是非 Null IMethodSymbols,而且 Kind 必須是 Update。

Kind

編輯的類型。

NewSymbol

稍後編譯的符號,如果編輯代表刪除,則為包含型別的符號。

OldSymbol

來自先前編譯的符號,如果編輯代表加法,則為 null。

PreserveLocalVariables

如果 SyntaxMap 不是 Null,則為 True。

RuntimeRudeEdit

將稍後編譯中的語法節點與針對節點產生的 IL 在運行時間報告的錯誤產生關聯。如果有的話。

SyntaxMap

從稍後編譯的語法節點對應到上一個編譯中的語法節點,如果 PreserveLocalVariables 為 false,則為 null,而且不需要對應或目前方法的來源與先前方法的來源相同。

方法

名稱 Description
Equals(Object)

描述兩個編譯之間的符號編輯。 例如,新增方法、方法的更新、移除型別等。

Equals(SemanticEdit)

SemanticEdit如果它們相同 Kind ,且對應的 OldSymbol 和 NewSymbol 符號相同,則會視為相等。 在發出的元數據/IL 上比較相等的編輯效果不一定相同。

GetHashCode()

描述兩個編譯之間的符號編輯。 例如,新增方法、方法的更新、移除型別等。

運算子

名稱 Description
Equality(SemanticEdit, SemanticEdit)

描述兩個編譯之間的符號編輯。 例如,新增方法、方法的更新、移除型別等。

Inequality(SemanticEdit, SemanticEdit)

描述兩個編譯之間的符號編輯。 例如,新增方法、方法的更新、移除型別等。

適用於