共用方式為


在 Visual Studio 中產生建構函式

此程式碼產生適用於:

  • C#

  • Visual Basic

功能:讓您立即針對類別產生新建構函式的程式碼。

時機:您引進新的建構函式並想要自動正確地宣告它,或是您修改現有的建構函式。

原因:您可以在使用建構函式之前先宣告它,不過,此功能將可自動搭配正確的參數來產生建構函式。 此外,修改現有的建構函式將需要更新所有 callsite,除非您使用此功能來自動更新它們。

做法:有數種產生建構函式的方式:

產生建構函式並選取成員 (僅限 C#)

  1. 將游標放在類別中任何空白的一行:

    Cursor in empty line

  2. 接著,執行下列其中一項操作:

    • 鍵盤
      • 按下 Ctrl+.,以觸發 [快速動作與重構] 功能表。
    • 滑鼠
      • 以滑鼠右鍵按一下並選取 [快速動作與重構] 功能表。
      • 如果文字游標已經在類別中的空白行上,按一下出現在左側邊界上的 圖示。

    Screenshot of the Generate constructor option.

  3. 從下拉功能表選取 [產生建構函式]

    [選取成員] 對話方塊隨即開啟。

  4. 選取您想要納入為建構函式參數的成員。 您可以使用向上鍵和向下鍵加以排序。 選擇確定

    Pick members dialog

    提示

    您可以選取 [新增 null 檢查] 核取方塊,來自動為建構函式參數產生 null 檢查。

    系統會使用指定的參數來建立建構函式。

    Screenshot showing that constructor is created with the specified parameters.

產生具有屬性的建構函式 (僅限 C#)

  1. 將游標放在執行個體上。

  2. 按下 Ctrl+.,以觸發 [快速動作與重構] 功能表。

  3. 選取 [在 <QualifiedName> 中產生函式 (包含屬性)]

    Screenshot of the Generate constructor in Key (with properties) option.

從選取的欄位產生建構函式 (僅限 C#)

  1. 醒目提示您想要包含在所產生建構函式中的成員:

    Highlight members

  2. 接著,執行下列其中一項操作:

    • 鍵盤

      • 按下 Ctrl+.,以觸發 [快速動作與重構] 功能表。
    • 滑鼠

      • 以滑鼠右鍵按一下並選取 [快速動作與重構] 功能表。
      • 如果文字游標已經在具有選取項目的行上,按一下出現在左側邊界上的 圖示。

      Screenshot of the Generate constructor Person string string option.

  3. 從下拉式功能表選取 [產生建構函式 'TypeName(...)']

    系統會使用選取的參數來建立建構函式。

    Screenshot showing that the constructor is created with the selected parameters.

從新的使用方式產生建構函式 (C# 和 Visual Basic)

  1. 將游標放在有紅色曲線的行上。 紅色波浪線表示尚不存在的建構函式呼叫。

    • C#:

      Highlighted code C#

    • Visual Basic:

      Highlighted code VB

  2. 接著,執行下列其中一項操作:

    • 鍵盤

      • 按下 Ctrl+.,以觸發 [快速動作與重構] 功能表。
    • 滑鼠

      • 以滑鼠右鍵按一下並選取 [快速動作與重構] 功能表。
      • 將游標暫留在紅色曲線上,然後按一下顯示的 圖示。
      • 如果文字游標已經在含有紅色曲線的行上,請按一下出現在左側邊界上的 圖示。

      Screenshot of the Generate constructor in Person option.

  3. 從下拉式功能表選取 [在 'TypeName' 中產生建構函式 ]

    提示

    請使用位於預覽視窗底部的 [預覽變更] 連結,以在進行選取之前先查看將進行的所有變更

    建構函式隨即建立,而任何參數會從使用方式推斷。

    • C#:

      Generate method result C#

    • Visual Basic:

      Generate method result VB

將參數新增至現有的建構函式 (僅限 C#)

  1. 將參數新增至現有的建構函式呼叫。

  2. 將游標放在有紅色曲線的行上,該曲線代表您使用尚未存在的建構函式。

    Screenshot showing the line where there is a red squiggle.

  3. 接著,執行下列其中一項操作:

    • 鍵盤

      • 按下 Ctrl+.,以觸發 [快速動作與重構] 功能表。
    • 滑鼠

      • 以滑鼠右鍵按一下並選取 [快速動作與重構] 功能表。
      • 將游標暫留在紅色曲線上,然後按一下顯示的 圖示。
      • 如果文字游標已經在含有紅色曲線的行上,請按一下出現在左側邊界上的 圖示。

      Screenshot of the Add parameter to Person string string option.

  4. 從下拉式功能表選取 [將參數新增至 'TypeName(...)']

    參數會新增至建構函式,而其類型會從使用方式推斷。

    Screenshot showing that the parameter is added to the constructor, with its type inferred from its usage.

您也可以將參數新增到現有的方法。 如需詳細資訊,請參閱將參數新增至方法

從建構函式參數建立欄位或屬性並加以初始化 (僅限 C#)

  1. 尋找現有的建構函式並新增參數:

    Screenshot showing an existing constructor.

  2. 將游標放在剛新增的參數內。

  3. 接著,執行下列其中一項操作:

    • 鍵盤
      • 按下 Ctrl+.,以觸發 [快速動作與重構] 功能表。
    • 滑鼠
      • 以滑鼠右鍵按一下並選取 [快速動作與重構] 功能表。
      • 如果文字游標已經在具有所新增參數的行上,按一下出現在左側邊界上的 圖示。

    Screenshot of the Create and initialize property Age option.

  4. 從下拉式功能表選取 [建立和初始化屬性] 或 [建立和初始化欄位]

    系統會宣告欄位或屬性,並自動命名以符合您的類型。 在建構函式主體中,還會新增一行程式碼以將欄位或屬性初始化。

    Screenshot showing that the field or property is declared and automatically named to match your types.

另請參閱