SemanticEdit 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Boolean)
警告
Use other overload
初始化 SemanticEdit 的執行個體。
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol oldSymbol, Microsoft.CodeAnalysis.ISymbol newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode> syntaxMap = default, bool preserveLocalVariables = false);
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol? oldSymbol, Microsoft.CodeAnalysis.ISymbol? newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode?>? syntaxMap = default, bool preserveLocalVariables = false);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete("Use other overload")]
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol? oldSymbol, Microsoft.CodeAnalysis.ISymbol? newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode?>? syntaxMap, bool preserveLocalVariables);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol? oldSymbol, Microsoft.CodeAnalysis.ISymbol? newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode?>? syntaxMap, bool preserveLocalVariables);
new Microsoft.CodeAnalysis.Emit.SemanticEdit : Microsoft.CodeAnalysis.Emit.SemanticEditKind * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Func<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode> * bool -> Microsoft.CodeAnalysis.Emit.SemanticEdit
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
[<System.Obsolete("Use other overload")>]
new Microsoft.CodeAnalysis.Emit.SemanticEdit : Microsoft.CodeAnalysis.Emit.SemanticEditKind * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Func<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode> * bool -> Microsoft.CodeAnalysis.Emit.SemanticEdit
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
new Microsoft.CodeAnalysis.Emit.SemanticEdit : Microsoft.CodeAnalysis.Emit.SemanticEditKind * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Func<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode> * bool -> Microsoft.CodeAnalysis.Emit.SemanticEdit
Public Sub New (kind As SemanticEditKind, oldSymbol As ISymbol, newSymbol As ISymbol, Optional syntaxMap As Func(Of SyntaxNode, SyntaxNode) = Nothing, Optional preserveLocalVariables As Boolean = false)
Public Sub New (kind As SemanticEditKind, oldSymbol As ISymbol, newSymbol As ISymbol, syntaxMap As Func(Of SyntaxNode, SyntaxNode), preserveLocalVariables As Boolean)
參數
- kind
- SemanticEditKind
編輯的類型。
- oldSymbol
- ISymbol
來自先前編譯的符號,如果編輯代表加法,則為 null。
- newSymbol
- ISymbol
稍後編譯的符號,如果編輯代表刪除,則為 null。
- syntaxMap
- Func<SyntaxNode,SyntaxNode>
從稍後編譯的語法節點對應到上一個編譯中的語法節點,如果 preserveLocalVariables
為 false,則為 null,而且不需要對應或目前方法的來源與先前方法的來源相同。
- preserveLocalVariables
- Boolean
如果編輯是使用中方法的更新,且應保留本機值,則為 True;否則為 false。
- 屬性
例外狀況
kind
不是有效的種類。
適用於
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Boolean, MethodInstrumentation)
警告
Use other overload
初始化 SemanticEdit 的執行個體。
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete("Use other overload")]
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol? oldSymbol, Microsoft.CodeAnalysis.ISymbol? newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode?>? syntaxMap, bool preserveLocalVariables, Microsoft.CodeAnalysis.Emit.MethodInstrumentation instrumentation);
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol? oldSymbol, Microsoft.CodeAnalysis.ISymbol? newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode?>? syntaxMap = default, bool preserveLocalVariables = false, Microsoft.CodeAnalysis.Emit.MethodInstrumentation instrumentation = default);
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
[<System.Obsolete("Use other overload")>]
new Microsoft.CodeAnalysis.Emit.SemanticEdit : Microsoft.CodeAnalysis.Emit.SemanticEditKind * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Func<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode> * bool * Microsoft.CodeAnalysis.Emit.MethodInstrumentation -> Microsoft.CodeAnalysis.Emit.SemanticEdit
new Microsoft.CodeAnalysis.Emit.SemanticEdit : Microsoft.CodeAnalysis.Emit.SemanticEditKind * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Func<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode> * bool * Microsoft.CodeAnalysis.Emit.MethodInstrumentation -> Microsoft.CodeAnalysis.Emit.SemanticEdit
Public Sub New (kind As SemanticEditKind, oldSymbol As ISymbol, newSymbol As ISymbol, syntaxMap As Func(Of SyntaxNode, SyntaxNode), preserveLocalVariables As Boolean, instrumentation As MethodInstrumentation)
Public Sub New (kind As SemanticEditKind, oldSymbol As ISymbol, newSymbol As ISymbol, Optional syntaxMap As Func(Of SyntaxNode, SyntaxNode) = Nothing, Optional preserveLocalVariables As Boolean = false, Optional instrumentation As MethodInstrumentation = Nothing)
參數
- kind
- SemanticEditKind
編輯的類型。
- oldSymbol
- ISymbol
來自先前編譯的符號,如果編輯代表加法,則為 null。
- newSymbol
- ISymbol
稍後編譯的符號,如果編輯代表刪除,則為 null。
- syntaxMap
- Func<SyntaxNode,SyntaxNode>
從稍後編譯的語法節點對應到上一個編譯中的語法節點,如果 preserveLocalVariables
為 false,則為 null,而且不需要對應或目前方法的來源與先前方法的來源相同。
- preserveLocalVariables
- Boolean
如果編輯是使用中方法的更新,且應保留本機值,則為 True;否則為 false。
- instrumentation
- MethodInstrumentation
要套用至方法的檢測更新。
- 屬性
例外狀況
kind
不是有效的種類。
適用於
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Func<SyntaxNode,Nullable<RuntimeRudeEdit>>, MethodInstrumentation)
初始化 SemanticEdit 的執行個體。
public SemanticEdit (Microsoft.CodeAnalysis.Emit.SemanticEditKind kind, Microsoft.CodeAnalysis.ISymbol? oldSymbol, Microsoft.CodeAnalysis.ISymbol? newSymbol, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode?>? syntaxMap = default, Func<Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.Emit.RuntimeRudeEdit?>? runtimeRudeEdit = default, Microsoft.CodeAnalysis.Emit.MethodInstrumentation instrumentation = default);
new Microsoft.CodeAnalysis.Emit.SemanticEdit : Microsoft.CodeAnalysis.Emit.SemanticEditKind * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Func<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode> * Func<Microsoft.CodeAnalysis.SyntaxNode, Nullable<Microsoft.CodeAnalysis.Emit.RuntimeRudeEdit>> * Microsoft.CodeAnalysis.Emit.MethodInstrumentation -> Microsoft.CodeAnalysis.Emit.SemanticEdit
Public Sub New (kind As SemanticEditKind, oldSymbol As ISymbol, newSymbol As ISymbol, Optional syntaxMap As Func(Of SyntaxNode, SyntaxNode) = Nothing, Optional runtimeRudeEdit As Func(Of SyntaxNode, Nullable(Of RuntimeRudeEdit)) = Nothing, Optional instrumentation As MethodInstrumentation = Nothing)
參數
- kind
- SemanticEditKind
編輯的類型。
- oldSymbol
- ISymbol
來自先前編譯的符號,如果編輯代表加法,則為 null。
- syntaxMap
- Func<SyntaxNode,SyntaxNode>
從稍後編譯的語法節點對應到先前編譯中的語法節點,如果方法狀態 (局部變數、關閉等,則為 null。) 不需要保留。
- runtimeRudeEdit
- Func<SyntaxNode,Nullable<RuntimeRudeEdit>>
- instrumentation
- MethodInstrumentation
要套用至方法的檢測更新。
例外狀況
kind
不是有效的種類。