You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio中多属性类对象实例化快捷键方案咨询

完美解决多属性类的实例化痛点!

哈哈,太懂这种手动赋值一堆属性的痛苦了——尤其类的属性超过8个的时候,简直是重复劳动天花板!结合你用的Visual Studio 2015 + C# + Resharper,完全有现成的快捷方案,完美符合你「不用构造函数、可读性强、适配LinQ to SQL」的需求,下面给你唠唠具体操作:

方法一:用Resharper内置快捷操作(最快最省心)

这是我日常用得最多的方式,不用额外配置,几步搞定:

  1. 先写出实例化的基础代码:var myInstance = new YourClassName();
  2. 把光标移到括号后面,改成对象初始化器的格式:var myInstance = new YourClassName { };
  3. 把光标放在大括号内部,按下Alt+Enter(Resharper的核心快捷触发键)
  4. 在弹出的菜单里选择「Generate properties initialization」(VS2015里的Resharper版本就是这个表述)
  5. 瞬间!所有可写的类属性都会被自动生成到大括号里,每个属性占一行,比如:
var myInstance = new Customer
{
    Id = 0,
    Name = "",
    Email = "",
    Phone = "",
    Address = "",
    CreateTime = DateTime.Now,
    IsActive = false,
    // 剩下的属性都会自动列出来
};

你只需要把默认值改成你要的内容就行,可读性拉满,而且完全避开了构造函数,LinQ to SQL里用这种对象初始化器完全没问题——因为它是先创建空实例再逐个赋值,不会触发构造函数的兼容性问题。

方法二:自定义Resharper Live Template(个性化需求)

如果需要更个性化的模板(比如固定某些属性的默认值,或者自定义变量名),可以自己做个Live Template:

  1. 按下Ctrl+Alt+S打开Resharper的设置面板
  2. 导航到「Tools → Live Templates → C#」
  3. 点击右上角的「Add Template」按钮,新建一个模板
  4. 填写以下内容:
    • Abbreviation:比如initobj(选个你记着方便的缩写就行)
    • Description:写个备注,比如「快速生成类实例的属性初始化框架」
    • Template text:
      var $varName$ = new $ClassName$
      {
          $Properties$
      };
      
  5. 点击「Edit variables」按钮,给每个变量设置规则:
    • $ClassName$:变量类型选「Type name」,会自动弹出类名选择框
    • $Properties$:变量类型选「Properties of type $ClassName$」,自动拉取目标类的所有可写属性
    • $varName$:选「Suggest name based on type」,自动生成合理的变量名
  6. 保存模板后,在代码里输入initobj,按Tab键就能触发,跟着提示选类名,瞬间生成完整的初始化框架!

小补充:只初始化部分属性怎么办?

如果不需要给所有属性赋值,Resharper生成后直接删掉不需要的行就行;或者在生成时弹出的属性选择框里,可以勾选你需要初始化的属性,只生成这些的代码。

这样操作下来,再也不用手动敲每个属性名了,效率直接拉满,还完全符合你的需求~

内容的提问来源于stack exchange,提问作者HenryGuillen17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:26:11