共用方式為


Microsoft.CodeAnalysis.Editing 命名空間

類別

DocumentEditor

編輯器,用於變更文件的語法樹狀結構。

ImportAdder
SolutionEditor

編輯器,用於對方案中的多個文件進行變更。

SymbolEditor

用於變更符號來源宣告的編輯器。

SymbolEditorExtensions
SyntaxEditor

編輯器,用於變更語法樹狀結構。 編輯器的運作方式是提供要 依序對特定樹狀目錄執行的變更清單。 系統會將 SyntaxNode 變更套用至編輯器所建立的原始樹狀結構中。 應用程式的語意如下:

  1. 提供的原始根目錄會作為所有作業的「目前」根目錄。 這個 'current' 根目錄會持續更新,成為新的 'current' 根目錄。 原始根目錄永遠不會變更。
  2. 每個變更都會使用 SyntaxAnnotation追蹤其指定的 SyntaxNode ,產生追蹤所有變更的「目前」根目錄。 這可讓在套用變更之後找到相同的節點,讓樹狀結構變動。
  3. 接著會套用每個變更,以便將其新增至編輯器。
  4. 變更會先嘗試在 『current』 根目錄中尋找它 SyntaxNode 。 如果找不到該節點,作業將會失敗並 ArgumentException顯示 。
  5. 特定變更將會在該節點上執行、移除、取代或根據變更插入。 如果變更以 『compute』 自變數的形式傳遞委派,則會在目前根目錄中找到 SyntaxNode 該委派。 接著,會將目前的節點取代為新的計算節點,以更新 'current' 根目錄。
  6. 接著會傳回 『current』 根目錄。
SyntaxEditorExtensions
SyntaxGenerator

與語言無關的處理站,用於建立語法節點。

此 API 可用來建立語言特定語法節點,這些節點在語言之間語意上類似。

此 API 所產生的樹狀結構會儘可能嘗試遵守使用者喜好設定。 例如,產生 MemberAccessExpression(SyntaxNode, String) 將會以「這個」或「我」的方式完成,如果使用 Simplifier 的話,將會根據使用者喜好設定來簡化。

結構

DeclarationModifiers

列舉

DeclarationKind
OperatorKind
SpecialTypeConstraintKind

委派

SymbolEditor.AsyncDeclarationEditAction

對內的宣告節點進行變更的 SyntaxTree動作。

SymbolEditor.DeclarationEditAction

對內的宣告節點進行變更的 SyntaxTree動作。