Visual Basic エディット コンティニュでサポートされていない編集
エディット コンティニュでは中断モードでプログラムの実行を停止する les を続行する加え変更結果実行中のコードおよび再開プログラムの実行を変更します。クラスのパブリック構造体に影響を及ぼす宣言コードの編集は一般にメソッドに対しては多くの編集クラス内のプロパティ本体またはプライベート宣言にブロックされます。可能な場合、エディット コンティニュで編集できないコードは明るい灰色で示されます。
サポートされていない変更を行う場合はデバッグ変更を行ってから新しいデバッグ セッションを開始するためになります。
このトピックの内容
以降のセクションではエディット コンティニュでサポートされていない編集を記述します。
プロパティとメソッドの本体の編集
静的ローカル変数に対するサポートされていない変更
- 静的ローカル変数の削除
繰り返し構造に対するサポートされていない変更
While ループの条件の変更 (命令ポインターが条件に存在する場合)
For ステートメントの下限または上限の変更 (命令ポインターが式に存在する場合)
Next ループの追加または削除 (命令ポインターが列挙子式で使用されている場合)
For Each ループの追加 (命令ポインターがループの本体に存在する場合)
For Each ループの反復子の変更 (命令ポインターが列挙子式またはループの本体に存在する場合)
For Each ループの列挙子式の変更 (命令ポインターが列挙子式に存在する場合)。
ジェネリックに対するサポートされていない変更
- ジェネリック メソッド自体、つまりジェネリック メソッドの本体の変更はサポートされていません。ただし、ジェネリック型のインスタンス化や既存のジェネリック メソッドへの呼び出しは追加、削除、または変更できます。
その他のサポートされていない変更
呼び出し履歴に存在するメソッドの呼び出しステートメントの変更
Try...Catch ブロックの追加 (命令ポインターが最終的に Catch ブロックまたは Finally ブロックに存在する場合)
Try...Catch ブロックの削除 (命令ポインターが Catch ブロックまたは Finally ブロックに存在する場合)
現在の命令ポインターの周囲への入れ子になった Try ステートメント (6 レベル以上) の追加
現在の命令ポインターの周囲への 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 への変更など)
既存のフィールドの型の削除または変更
入れ子にされた型の宣言の編集
通常、中断モードでは、エディット コンティニュを使用して入れ子にされた型の宣言を変更できません。具体的には、エディット コンティニュは次の変更をサポートしません。
新しい入れ子にされた型の追加
入れ子にされた型の別の名前空間または型への移動
構造体宣言の編集
中断モードでは、エディット コンティニュは構造体宣言に対するほとんどの変更を許可しません。具体的には、エディット コンティニュは次の変更をサポートしません。
新しい構造を作成します。
既存の構造体の名前の変更または削除します。
新しいインターフェイスの実装、または既存のインターフェイスの実装の削除
構造体のアクセス修飾子の変更。
構造体メンバー宣言の編集
エディット コンティニュを使用すると、中断モードで、構造体メンバー (プロパティ、メソッド、およびフィールド) にさまざまな変更を加えることができます。ただし、構造体メンバーの宣言に影響を及ぼす変更など、サポートされていない変更もあります。具体的には、エディット コンティニュは次の変更をサポートしません。
コンストラクター メソッドを含むプロパティまたはメソッドの追加または削除 (いずれのアクティブ ステートメントにもフィールド名が含まれない Private メソッドを除く)
プロパティまたはメソッドのシグネチャの変更
ジェネリックを使用するメソッドの編集
プロパティ宣言とメソッド宣言のどちらがインターフェイスを実装するかの変更
プロパティまたはメソッドのアクセス修飾子の変更 (Public から Private への変更など)
フィールドの追加または削除
フィールドの種類の変更
参照
処理手順
方法 : エディット コンティニュの中断モード時に編集を適用する