'yield return' または 'yield break' ステートメントを含む 'メソッド | プロパティ | インデクサー | 演算子' を変更すると、エディット コンティニュが有効なとき、デバッグ セッションを続行できなくなります。
このエラーは、yield return ステートメントや yield break ステートメントを含むメソッド、プロパティ、インデクサー、または演算子を変更しようとした場合に発生します。 詳細については、「yield (C# リファレンス)」を参照してください。 エディット コンティニュでは、デバッグ中のこの変更はサポートされていません。
次のコードがあるとします。
class Program
{
private int[] items = { 1, 2, 3 };
System.Collections.Generic.IEnumerable<int> Range(int start, int end)
{
for (int index = start; index < end; index++)
{
yield return items[index];
}
}
static void Main()
{
Program p = new Program();
foreach (int item in p.Range(0, 2))
{
}
}
}
yield return items[index] にブレークポイントを設定してからデバッグを開始し、ローカル変数宣言 int a = 10 を Range メソッドに追加しようとすると、このエラーが発生します。
このエラーを解決するには
変更を元に戻し、変更のない状態でデバッグを継続します。
または
[デバッグ] メニューの [デバッグの停止] をクリックし、変更を加えた後で新しいデバッグ セッションを開始します。