次の方法で共有


C# エディット コンティニュ: エラー 4054

'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 メソッドに追加しようとすると、このエラーが発生します。

このエラーを解決するには

  • 変更を元に戻し、変更のない状態でデバッグを継続します。

    または

    [デバッグ] メニューの [デバッグの停止] をクリックし、変更を加えた後で新しいデバッグ セッションを開始します。

参照

参照

yield (C# リファレンス)

サポートされているコード変更 (C#)

エディット コンティニュ (Visual C#)

その他の技術情報

エディット コンティニュのエラーと警告 (C#)