在 Visual Studio 中生成构造函数

此代码生成适用于:

  • C#

  • Visual Basic

功能: 为类上的新构造函数快速生成代码。

使用时机: 想要引入新构造函数,并想要自动以适当的方式声明它,或要修改现有的构造函数时。

操作原因:可以在使用该构造函数之前对其进行声明,但此功能可自动使用适当的参数生成它。 此外,修改现有的构造函数需要更新所有的调用站点,使用此功能自动更新时除外。

方法:有多种生成构造函数的方法:

生成构造函数并选择成员(仅限 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.

另请参阅