none
メッセージ 「オブジェクトの初期化を簡略化できます」 に対応した書式 RRS feed

  • 質問

  • メッセージ 「オブジェクトの初期化を簡略化できます」 に対応した書式を知りたく質問させていただきました。どうぞよろしくお願いします。
    case 14:    //予算編成
          Frm51Hensei frmHensei = new Frm51Hensei();
          //frm0Menuの変数値を参照する
          frmHensei.frmMain = this;
          frmHensei.Show();
          break;
    上の場合は,どのように書くことになるのでしょうか。
    2019年8月10日 21:48

回答

  • new Frm51Hensei(); と書かれている行をクリックすると、左端の行番号の所に「💡」の電球アイコンが表示されるかと思います。そのアイコンをクリックすると「オブジェクトの初期化を簡略化できます」メニューが表示され、必要なコードの提案がプレビュー表示されます。

    あるいは、マウスカーソルを new の所にポイントすることでも同アイコンが表示されます。こちらの場合は、ポップアップの「考えられる修正内容を表示する」のリンクからも、提案コードを確認することができます。

    • 回答としてマーク goodwave 2019年8月12日 21:16
    2019年8月10日 22:51
  • 簡略化のために、下記のように書くこともできるわけですが…。

    new Frm51Hensei { frmMain = this }.Show();
    break;

    あるいは、自作クラス Frm51Hensei 側のコンストラクタのオーバーロードで、frmMain のための引数を設ける形にするのも手でしょう。

    ただ今回のケースで言えば、わざわざ frmMain メンバーを定義しなくても、frmHensei.Show(this); な呼び出しに切り替えて、Owner プロパティで受け取るだけで良い気もします。

    • 回答としてマーク goodwave 2019年8月12日 21:16
    2019年8月10日 23:00

すべての返信

  • new Frm51Hensei(); と書かれている行をクリックすると、左端の行番号の所に「💡」の電球アイコンが表示されるかと思います。そのアイコンをクリックすると「オブジェクトの初期化を簡略化できます」メニューが表示され、必要なコードの提案がプレビュー表示されます。

    あるいは、マウスカーソルを new の所にポイントすることでも同アイコンが表示されます。こちらの場合は、ポップアップの「考えられる修正内容を表示する」のリンクからも、提案コードを確認することができます。

    • 回答としてマーク goodwave 2019年8月12日 21:16
    2019年8月10日 22:51
  • 簡略化のために、下記のように書くこともできるわけですが…。

    new Frm51Hensei { frmMain = this }.Show();
    break;

    あるいは、自作クラス Frm51Hensei 側のコンストラクタのオーバーロードで、frmMain のための引数を設ける形にするのも手でしょう。

    ただ今回のケースで言えば、わざわざ frmMain メンバーを定義しなくても、frmHensei.Show(this); な呼び出しに切り替えて、Owner プロパティで受け取るだけで良い気もします。

    • 回答としてマーク goodwave 2019年8月12日 21:16
    2019年8月10日 23:00