共用方式為


SyntaxEditor 類別

定義

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

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

備註

上述編輯策略會使編輯器的用戶端發生錯誤,以新增更新父節點的變更,然後新增更新子節點 (的變更,除非父代變更確定包含子系) ,然後嘗試在運行時間擲回。 如果用戶端需要同時更新子系和父系,它 應該 先新增子變更,然後再新增父代變更。 父代變更應該會傳遞適當的「計算」回呼,如此一來,它就會看到子變更的結果。

如果用戶端想要進行取代,請尋找放入樹狀結構中的 SyntaxNode ,方法是將專用註釋新增至該節點,然後在傳遞至 'compute' 回呼的 'current' 節點中尋找它。

建構函式

SyntaxEditor(SyntaxNode, HostWorkspaceServices)

建立新的 SyntaxEditor 執行個體。

SyntaxEditor(SyntaxNode, SolutionServices)

建立新的 SyntaxEditor 執行個體。

SyntaxEditor(SyntaxNode, Workspace)
已淘汰.

建立新的 SyntaxEditor 執行個體。

屬性

Generator

SyntaxGenerator,用來建立和變更 SyntaxNode的 。

OriginalRoot

SyntaxNode建構 時SyntaxEditor所指定的 。

方法

GetChangedRoot()

傳回已變更的根節點。

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

在樹狀結構中已經存在的指定節點之後插入新的節點。

InsertAfter(SyntaxNode, SyntaxNode)

將新節點插入樹狀結構中已經存在的指定節點之後。

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

在樹狀結構中已經存在的指定節點之前插入新的節點。

InsertBefore(SyntaxNode, SyntaxNode)

在樹狀結構中已經存在的指定節點之前插入新節點。

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

從樹狀結構中移除節點。

RemoveNode(SyntaxNode)

從樹狀結構中移除節點。

ReplaceNode(SyntaxNode, Func<SyntaxNode,SyntaxGenerator,SyntaxNode>)

將指定的節點取代為函式所產生的節點。

ReplaceNode(SyntaxNode, SyntaxNode)

以不同的節點取代指定的節點。

TrackNode(SyntaxNode)

確定已追蹤節點,即使節點未變更也一樣。

擴充方法

AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

適用於