共用方式為


Visual Basic 編輯後繼續中不支援的編輯

[編輯後繼續] 可讓您在中斷模式停止程式執行、變更執行中的程式碼,然後以新加入的變更繼續執行程式。 通常會禁止影響類別之公用結構的宣告式程式碼編輯,但是允許對類別內的方法、屬性主體或私用宣告進行多項編輯。 [編輯後繼續] 會盡可能將無法編輯的程式碼標示為淺灰色。

如果您必須進行任何不支援的變更,則必須先停止偵錯,進行變更,然後開始新的偵錯工作階段。

本主題內容

下列章節將描述 [編輯後繼續] 不支援的編輯。

方法和屬性主體編輯

屬性編輯

類別宣告編輯

類別成員宣告編輯

編譯器選項編輯

條件式編譯編輯

常數編輯

委派和事件宣告編輯

列舉編輯

外部宣告編輯

匯入編輯

介面定義編輯

模組宣告編輯

模組成員宣告編輯

巢狀類型宣告編輯

結構宣告編輯

方法和屬性主體編輯

不支援的靜態區域變數變更

  • 移除靜態區域變數。

不支援的反覆項目建構變更

  • 當指令指標位於條件中時,修改 While 迴圈的條件。

  • 當指令指標位於運算式中時,修改 For 陳述式的下限或上限。

  • 指令指標在列舉程式運算式中使用時,加入或移除 Next 迴圈。

  • 指令指標位於迴圈的主體中時,加入 For Each 迴圈。

  • 當指令指標位於列舉程式運算式或迴圈主體中時,變更 For Each 迴圈的迭代器。

  • 當指令指標位於列舉程式運算式中時,變更 For Each 迴圈的列舉程式運算式。

不支援的泛型變更

  • 不支援對泛型方法本身或泛型方法主體進行變更。 可以加入、刪除或變更泛型類型的具現化或對現有泛型方法的呼叫。

其他不支援的變更

  • 變更呼叫堆疊上方法的引動過程陳述式。

  • 當指令指標最後位於 Catch 區塊或 Finally 區塊中時,加入 Try...Catch 區塊。

  • 當指令指標位於 Catch區塊或 Finally 區塊中時,移除 Try...Catch 區塊。

  • 在目前指令指標前後加入六個或更多個巢狀 Try 陳述式。

  • 在目前指令指標前後加入 Using 區塊。

  • 在目前指令指標前後加入 SynchLock 區塊。

  • 加入、移除或修改使用者定義的 #region。

屬性編輯

[編輯後繼續] 不支援修改屬性。 具體而言,[編輯後繼續] 不支援下列變更:

  • 定義、編輯或刪除屬性類別。

  • 加入屬性。

  • 編輯或移除現有的屬性。

類別宣告編輯

處於中斷模式時,[編輯後繼續] 不允許對類別宣告進行的大多數變更。 具體而言,[編輯後繼續] 不支援下列變更:

  • 建立新類別。

  • 重新命名、刪除或變更現有類別的繼承。

  • 實作新介面,或移除介面的實作。

  • 變更類別上的下列任何修飾詞:MustInherit、NotInheritable 或 Shared。

  • 加入、變更或移除 ComClass 狀態。

  • 變更類別的存取修飾詞。

  • 編輯任何泛型類別宣告。

類別成員宣告編輯

大部分 [編輯後繼續] 案例中都禁止對成員宣告進行變更。 例如,在中斷模式期間,您無法變更成員的簽章或存取層級、無法宣告新的非私用方法或屬性,也無法完全移除成員。 具體而言,[編輯後繼續] 不支援下列變更:

  • 在包含區塊中宣告相同名稱的全域或成員變數,以遮蔽現有成員變數。

  • 在區塊內宣告新的執行個體,以遮蔽靜態區域變數。

  • 加入新的非私用屬性或方法。 允許加入 Private 屬性或方法。

  • 加入新欄位,除非該欄位是 Private,而且在任何使用中陳述式內都未出現該欄位名稱。

  • 在標記為 SequentialLayout 或 ExplicitLayout 的任何類別中加入新的 Private 欄位。

  • 加入或刪除建構函式。

  • 移除事件的處理常式。 允許加入事件處理常式。

  • 加入新的多載屬性或方法,除非該屬性或方法是 Private,而且在任何使用中陳述式內都未出現該名稱。

  • 加入或移除成員變數上的 WithEvents 子句。

  • 刪除成員。

  • 變更屬性或方法宣告,以停止實作介面。

  • 編輯任何使用泛型的方法。

  • 變更非私用屬性或方法的簽章或傳回類型。

  • 覆寫或遮蔽基底類別中的成員。

  • 變更方法的 MustInherit 或 NotOverridable 狀態。

  • 變更屬性或方法的存取修飾詞。

  • 變更欄位的類型或唯讀狀態。

  • 變更公用欄位。

編譯器選項編輯

在中斷模式下使用 [編輯後繼續] 時,您無法變更、加入或移除下列編譯器選項:

  • Option Strict

  • Option Explicit

  • Option Compare

條件式編譯編輯

處於 [編輯後繼續] 模式時,對條件式編譯指示詞的大多數變更都不允許。 具體而言,[編輯後繼續] 不支援下列變更:

  • 加入或移除條件式編譯指示詞。

  • 加入、移除或變更條件式編譯陳述式的評估運算式。

常數編輯

處於 [編輯後繼續] 模式時,對於常數的變更會受到嚴格的限制。 具體而言,[編輯後繼續] 不支援下列變更:

  • 定義新的常數,除非該常數為 private,而且在任何使用中陳述式內都未出現該常數名稱。

  • 變更常數的類型或值。

  • 移除常數。

委派和事件宣告編輯

處於中斷模式時,[編輯後繼續] 不允許對委派和事件進行的大多數變更。 具體而言,[編輯後繼續] 不支援下列變更:

  • 定義新的委派。

  • 變更或刪除委派定義。

  • 定義新的事件。

  • 刪除事件。

列舉編輯

在中斷模式期間,[編輯後繼續] 不允許對列舉 (Enums) 進行變更。 具體而言,[編輯後繼續] 不支援下列變更:

  • 定義新的 Enum。

  • 修改 Enum 的基礎類型。

  • 加入、變更或移除 Enum 成員。

  • 變更 Enum 的存取修飾詞。

外部宣告編輯

一般來說,您無法在 [編輯後繼續] 期間變更外部方法的宣告。 具體而言,[編輯後繼續] 不支援下列變更:

  • 加入或移除外部宣告。

  • 變更外部宣告的簽章或封送處理屬性。

匯入編輯

處於中斷模式時,[編輯後繼續] 不允許加入、變更或移除 Imports 陳述式。

介面定義編輯

雖然 [編輯後繼續] 可讓您經常變更實作介面的成員,但通常不允許變更實際介面定義。 具體而言,[編輯後繼續] 不支援下列變更:

  • 定義新的介面。

  • 加入、變更或移除介面成員。

  • 刪除現有的介面。

  • 變更介面的存取修飾詞。

  • 變更介面繼承階層。

模組宣告編輯

處於中斷模式時,[編輯後繼續] 不允許對模組宣告進行的大多數變更。 具體而言,[編輯後繼續] 不支援下列變更:

  • 建立新的模組。

  • 重新命名或刪除現有的模組。

  • 變更模組的存取修飾詞。

模組成員宣告編輯

使用 [編輯後繼續] 可讓您在中斷模式下,對模組成員 (例如屬性、方法和欄位) 進行各種變更。 不過,有些變更並不支援。 最值得注意的是,[編輯後繼續] 不支援加入、刪除或變更非私用成員的類型或簽章。

具體而言,[編輯後繼續] 不支援下列變更:

  • 加入新成員,除非該成員是 Private,而且在任何使用中陳述式內都未出現該名稱。

  • 移除屬性或方法。

  • 變更非私用屬性或方法的簽章。

  • 編輯任何使用泛型的方法。

  • 變更屬性或方法的存取修飾詞 (例如,將 Public 變更為 Private)。

  • 刪除或變更現有欄位的類型。

巢狀類型宣告編輯

一般而言,使用 [編輯後繼續] 時,無法在中斷模式下變更巢狀類型宣告。 具體而言,[編輯後繼續] 不支援下列變更:

  • 加入新的巢狀類型。

  • 將巢狀類型移至另一個命名空間或類型。

結構宣告編輯

處於「中斷」模式時,[編輯後繼續] 不允許對結構宣告進行的大多數變更。 具體而言,[編輯後繼續] 不支援下列變更:

  • 建立新的結構。

  • 重新命名或刪除現有的結構。

  • 實作新介面,或移除介面的實作。

  • 變更結構的存取修飾詞。

結構成員宣告編輯

使用 [編輯後繼續] 可讓您在中斷模式下,對結構成員 (屬性、方法和欄位) 進行各種變更。 不過,某些變更並不支援,尤其是會影響結構成員宣告的變更。 具體而言,[編輯後繼續] 不支援下列變更:

  • 加入或移除屬性或方法,包括建構函式方法 (除非該方法是 Private,而且在任何使用中陳述式內都未出現該欄位名稱)。

  • 變更屬性或方法的簽章。

  • 編輯任何使用泛型的方法。

  • 對屬性或方法宣告實作介面的狀態進行變更。

  • 變更屬性或方法的存取修飾詞 (例如,將 Public 變更為 Private)。

  • 加入或移除欄位。

  • 變更欄位類型。

請參閱

工作

如何:以編輯後繼續在中斷模式套用編輯

其他資源

編輯後繼續 (Visual Basic)