Visual Basic 編輯後繼續中不支援的編輯
編輯後繼續 les 停止在中斷模式中執行的程式、 執行的程式碼,以進行變更並繼續執行程式,與新加入的變更。會影響類別公用結構的宣告式程式碼編輯通常被禁止的但允許許多您可能會對發出方法、 屬性主體或私用宣告在類別內的編輯。[編輯後繼續] 會盡可能以淺灰色標示無法編輯的程式碼。
如果您需要進行的變更,不受支援,您必須停止偵錯、 進行變更,並開始新的偵錯工作階段。
本主題內容
下列章節將描述針對編輯後繼續] 不支援的編輯。
方法和屬性主體編輯
不支援的靜態區域變數變更
- 移除靜態區域變數。
不支援的反覆運算建構變更
當指令指標位於條件中時,修改 While 迴圈的條件。
當指令指標位於運算式時,修改 For 陳述式的下限或上限。
在列舉值運算式中使用指令指標時,加入或移除 Next 迴圈。
當指令指標位於迴圈的主體時,加入 For Each 迴圈。
當指令指標位於列舉值運算式或迴圈主體時,變更 For Each 迴圈的 Iterator。
當指令指標位於列舉值運算式時,變更 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
條件式編譯編輯
處於 [編輯後繼續] 模式時,大多數對條件式編譯指示詞的變更都不被允許。特別是 [編輯後繼續] 不支援下列變更:
加入或移除條件式編譯指示詞。
加入、移除,或變更條件式編譯陳述式的評估運算式。
常數編輯
於 [編輯後繼續] 模式時,變更常數會受到嚴格的限制。特別是 [編輯後繼續] 不支援下列變更:
定義新的常數,除非該常數是私用的,而且任何使用中陳述式皆未使用該常數名稱
變更常數的型別或值。
移除常數。
委派和事件宣告編輯
在中斷模式時,[編輯後繼續] 大多不允許對委派和事件進行變更。特別是 [編輯後繼續] 不支援下列變更:
定義新的委派
變更或刪除委派定義
定義新的事件
刪除事件
列舉型別編輯
在中斷模式期間,[編輯後繼續] 不允許變更列舉型別 (Enums)。特別是 [編輯後繼續] 不支援下列變更:
定義新的 Enum
修改 Enum 的基礎型別
加入、變更,或移除 Enum 成員
變更 Enum 的存取修飾詞
外部宣告編輯
一般來說,您無法在 [編輯後繼續] 期間變更外部方法的宣告。特別是 [編輯後繼續] 不支援下列變更:
加入或移除外部宣告。
變更簽名或封送處理外部宣告的屬性。
匯入編輯
在中斷模式中,[編輯後繼續] 不允許加入、變更,或移除 Imports 陳述式。
介面定義編輯
雖然 [編輯後繼續] 可讓您經常變更實作介面的成員,但通常不會允許變更實際介面定義。特別是 [編輯後繼續] 不支援下列變更:
定義新的介面。
加入、變更,或移除介面成員。
刪除現有的介面。
變更介面的存取修飾詞。
變更介面繼承階層。
模組宣告編輯
在中斷模式中,[編輯後繼續] 大多不允許對模組宣告進行變更。特別是 [編輯後繼續] 不支援下列變更:
建立新的模組。
重新命名或刪除現有的模組。
變更模組的存取修飾詞。
模組成員宣告編輯
使用 [編輯後繼續],可讓您在中斷模式中對模組成員 (例如屬性、方法和欄位) 進行各種變更。但是,有些變更並不支援。最特別的是,[編輯後繼續] 不支援加入、刪除或變更非私用成員的型別或簽章。
特別是 [編輯後繼續] 不支援下列變更:
加入新成員,除非該成員是 Private,而且任何使用中陳述式皆未使用該名稱
移除屬性或方法
變更非私用屬性或方法的簽章
編輯任何使用泛型的方法。
變更屬性或方法的存取修飾詞 (例如,將 Public 變更為 Private)
刪除或變更現有欄位的型別
巢狀型別宣告編輯
通常使用 [編輯後繼續] 時,無法在中斷模式中變更巢狀型別宣告。特別是 [編輯後繼續] 不支援下列變更:
加入新的巢狀型別。
將巢狀型別移至另一個命名空間或型別。
結構宣告編輯
在中斷模式中,[編輯後繼續] 不允許對 Structure 宣告的大多數變更。特別是 [編輯後繼續] 不支援下列變更:
建立新的結構。
重新命名或刪除現有的結構。
實作新的介面,或移除介面的實作。
變更結構的存取修飾詞。
結構成員宣告編輯
使用 [編輯後繼續] 時,您可以在中斷模式中對結構成員 (屬性、方法,和欄位) 進行各種不同的變更。但是,某些變更並不支援,其中大部分是影響結構成員宣告的變更。特別是 [編輯後繼續] 不支援下列變更:
加入或移除屬性或方法,包括建構函式方法 (除非該方法是私用的,而且任何使用中陳述式皆未使用該欄位名稱)。
變更屬性或方法的簽章。
編輯任何使用泛型的方法。
對屬性或方法宣告實作介面的狀態進行變更。
變更屬性或方法的存取修飾詞 (例如,將 Public 變更為 Private)。
加入或移除欄位。
變更欄位型別。