经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » Visual Studio » 查看文章
发布一个Visual Studio 2022 插件,可以自动完成构造函数依赖注入代码
来源:cnblogs  作者:IWing  时间:2023/6/28 8:50:40  对本文有异议

依赖注入(DI)在开发中既是常见的也是必需的技术。它帮助我们优化了代码结构,使得应用更加灵活、易于扩展,同时也降低了各个模块之间的耦合度,更容易进行单元测试,提高了编码效率和质量。不过,手动注入依赖项也可能会成为我们开发过程中的瓶颈。

通常情况下,当我们需要注入大量依赖对象时,我们不得不在构造函数中写大量的参数注入,这不仅会让构造函数变得形式化、冗长,还可能导致人误(手误)或各种错误。为了让依赖注入的流程更为智能和高效,我将自己的经验结合技术要求,开发了一个Visual Studio的插件,简单易用、解决了许多构造函数参数申明的问题。

该插件能够快速将构造函数参数,赋给类的局部私有变量,提升了编写依赖注入(DI)的效率,简化了代码的编写过程。开发人员只需要将光标放置于构造函数内部,按下快捷键即可完成参数赋值和定义私有变量。

示例:原始代码

  1. public class TestClass
  2. {
  3. public TestClass(ILogger<TestClass> logger , IServiceProvider serviceProvider)
  4. {
  5. }
  6. }

把光标定在class内部,按下 ALT + 0 快捷键,自动变成下面这样:

  1. public class TestClass
  2. {
  3. ILogger<TestClass> _logger;
  4. IServiceProvider _serviceProvider;
  5. public TestClass(ILogger<TestClass> logger, IServiceProvider serviceProvider)
  6. {
  7. this._logger = logger;
  8. this._serviceProvider = serviceProvider;
  9. }
  10. }

如果是按下 ALT + 9 快捷键,私有变量会采用readonly修饰:

  1. public class TestClass
  2. {
  3. readonly ILogger<TestClass> _logger;
  4. readonly IServiceProvider _serviceProvider;
  5. public TestClass(ILogger<TestClass> logger, IServiceProvider serviceProvider)
  6. {
  7. this._logger = logger;
  8. this._serviceProvider = serviceProvider;
  9. }
  10. }

安装方法:

在vs2022的【扩展】-》【管理扩展】,直接搜索安装 DependencyInjectionVsix2022

源码:

https://e.coding.net/IWay2018/public/DependencyInjectionVsix2022.git

原文链接:https://www.cnblogs.com/IWings/p/17504667.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号