MappingGenerator PRO 2023.3 Visual Studio 2019-2022

news2024/11/22 22:53:17

您的私人编码助手

MappingGenerator 最初是作为 AutoMapper 的设计时替代品创建的。现在它正在演变为编码助手,您可以将最平凡的编码任务委派给它:

  • 生成映射
  • 生成显式转换
  • 实施克隆
  • 生成投影表达式
  • 脚手架方法调用
  • 脚手架对象创建
  • 清理方法调用
  • 方便ILogger的使用

成为高效的开发人员

少打字,专注于重要的事情!

调用脚手架

您是否曾经为完成一个方法的长参数列表而苦恼?当你因为有一些类似的超载而迷失在中间时,你有什么感觉?此高级功能允许快速搭建完整方法调用的脚手架。

Facilitate ILogger usages

所有与 ILogger 使用相关的样板代码是否让您分心?它会让你的注意力从更重要的事情上移开吗?不再!这组专用重构允许您非常快速地添加日志记录代码。

  • ⭐ 自动注入强类型记录器
  • ⭐ 用 try-catch 包装并记录异常
  • ⭐ 用日志记录范围包裹选定的块
  • ⭐ 具有所需严重性的脚手架日志记录方法调用

生成映射方法

使用类型转换器的真实性,根据智能约定自动生成映射逻辑。借助UI 配置器,您可以自定义映射规则以根据您的需要和标准调整映射代码:

  • ⭐ 处理不匹配的属性
  • ⭐ 自动提取重复逻辑到方法
  • ⭐ 在生成的代码中重用现有方法
  • ⭐ 由多个对象组成映射
  • ⭐ 使用 switch 表达式映射枚举
  • ⭐ 将复杂对象映射为平面结构

生成显式转换

您尝试分配给属性、作为方法参数传递或从函数返回的变量类型与预期类型不匹配?您可以节省大量输入并立即使用代码操作修复它以生成显式转换。MappingGenerator可以搭建基于当前上下文执行类型转换所需的所有代码。

  • ⭐ 修复变量声明
  • ⭐ 修复无效分配
  • ⭐ 修复无效的返回语句
  • ⭐ 修复无效的 yield return 语句
  • ⭐ 修复无效的方法参数
  • ⭐ Automatically extract conversion to method
  • ⭐ Find and call existing conversion method

Object Scaffolder

Do you need to create an instance of an object that consists of many complex properties? Seems like a lot of typing and it's quite a common task, too! Thanks to the Object Scaffolder you can instantly emit all the necessary code with values generated by one of the predefined strategies.

  • ⭐ Option to choose value generation strategy
  • ⭐ Automatically match local variables to object properties
  • ⭐ Initialize nested objects and collections
  • ⭐ Choose between new Type() and new() syntax
  • ⭐ Control nesting level
  • ⭐ Define the number of elements for collection initialization
  • ⭐ Control the order of initialized properties

Invocation Scaffolder

Have you ever been struggling with completing a method's long parameter list? What do you feel when you've got lost in the middle because there are a few similar overloads? This premium feature allows for quick scaffolding of complete method invocation.

  • ⭐ Easily choose the desired method overload
  • ⭐ Select invocation formatting
  • ⭐ Toggle parameters' names
  • ⭐ Select strategy for generating parameters' values
  • ⭐ Automatically match local variables to parameters
  • ⭐ Handle ref and out arguments

Clean-up method invocation

How many times did you come across a messy method invocation and you wasted too much time trying to figure out what was going on there? Thanks to this module you can easily clean up messy method invocations by:

  • ⭐ Extracting complex parameters into separate variables
  • ⭐ Changing invocation formatting to multi/single line
  • ⭐ Toggle parameters' names

Facilitate ILogger usages

Does all that boilerplate code related to ILogger usage distract you? Does it take your attention away from more important things? Not anymore! This set of dedicated refactorings allows you to add logging code very quickly.

  • ⭐ Automatically inject strongly typed logger
  • ⭐ Wrap with try-catch and log the exception
  • ⭐ Wrap the selected block with logging scope
  • ⭐ Scaffold logging method invocation with desired severity

Generate mapping method

Automatically generate mapping logic based on smart conventions using verity of type converters. Thanks to the UI Configurator you can customize mapping rules to adjust the mapping code to your needs and standards:

  • ⭐ Handle unmatched properties
  • ⭐ Automatically extract duplicated logic to method
  • ⭐ Re-use existing methods in the generated code
  • ⭐ Compose mapping from multiple objects
  • ⭐ Map enums using switch expressions
  • ⭐ Map complex object into flat structure

Generate explicit conversions

The type of the variable that you are trying to assign to a property, pass as a method parameter or return from the function doesn't match the expected type? You can save a lot of typing and fix that immediately with code action for generating explicit conversion. MappingGenerator can scaffold all the code required for performing conversion between types based on the current context.

  • ⭐ Fix variable declarations
  • ⭐ Fix invalid assignments
  • ⭐ Fix invalid return statements
  • ⭐ Fix invalid yield return statements
  • ⭐ Fix invalid method argument
  • ⭐ Automatically extract conversion to method
  • ⭐ Find and call existing conversion method

Object Scaffolder

您是否需要创建包含许多复杂属性的对象实例?似乎要打很多字,这也是一项很常见的任务!多亏了Object Scaffolder,您可以立即发出所有必要的代码,其中包含由一种预定义策略生成的值。

  • ⭐ 选择价值生成策略的选项
  • ⭐ 自动匹配局部变量到对象属性
  • ⭐ 初始化嵌套对象和集合
  • ⭐ 在new Type()new()语法之间选择
  • ⭐ 控制嵌套层级
  • ⭐ 定义集合初始化的元素个数
  • ⭐ 控制初始化属性的顺序

使用高级功能释放真正的生产力

MappingGenerator 最初是免费的开源软件,在此期间创建的所有功能都可以免费使用。但是,通过付费许可证,您可以获得更丰富的功能集。

映射选项

使用专用的 UI 设置面板控制映射代码形状。

即时预览

尝试不同的映射选项并立即在预览框中查看效果。

表情投射

为表示映射投影的字段生成实现。

映射接口

使用一组映射方法定义接口,并通过一次运行生成实现。

额外转换器

使用调整映射边的专用转换器输入更少。

更多匹配规则

使用类型扁平化和一致性匹配规则为发散模型获得更多映射匹配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/417482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探讨Hive是否转为MapReduce程序

目录 前提条件 数据准备 探讨HQL是否转为MapReduce程序执行 1.设置hive.fetch.task.conversionnone 2.设置hive.fetch.task.conversionminimal 3.设置hive.fetch.task.conversionmore 前提条件 Linux环境下安装好Hive,这里测试使用版本为:Hive2.3.…

【结构型模式】适配者模式

文章目录优秀借鉴1、简介2、结构3、实现方式3.1、案例引入3.2、类适配器3.3、对象适配器3.4、接口适配器4、区别对比5、适配者模式优缺点6、应用场景优秀借鉴 黑马程序员Java设计模式详解-适配器模式概述适配器设计模式(封装器模式)一文彻底弄懂适配器模…

页眉怎么添加【节】,设置不同章节不同页眉

文章目录前言添加【节】,设置不同内容总结前言 大家写文档或者论文的时候可能会需要:不同章节页眉展示不同的内容 然而,在双击页眉进行编辑的时候却发现几个章节的页眉一起被修改了: 会出现文章与页眉不同步的情况&#xff0c…

idea使用Junit

文章目录 idea使用JunitJunit配置常用注解常用于测试的断言方法后续idea使用Junit 对项目使用Junit主要有两个步骤: 添加Junit依赖,即添加Junit jar包使用JunitJunit配置 方法一:idea自带的快捷方法 对要测试的类的方法,在该类中,右键鼠标呼出菜单,选择Generate,快捷…

简单的回顾Linux

linux命令ls会显示出文件的颜色, 系统约定的默认颜色含义如下: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 主要是使用ln命令建立的文件 红色闪烁:表示链接的…

Java实现打印杨辉三角形,向左、右偏的平行四边形这三个图形代码程序

目录 前言 一、打印杨辉三角形 1.1运行流程(思想) 1.2代码段 1.3运行截图 二、向左偏的平行四边形 1.1运行流程(思想) 1.2代码段 1.3运行截图 三、向右偏的平行四边形 1.1运行流程(思想) 1.2代…

inplace-operation-error 【已解决】

最近在搞CT医学图像分割模型的领域泛化优化,结果就出现了报错: 关于这个问题stackoverflow上有非常多的讨论,可以过去围观: 指路:中文版stackoverflow - 堆栈内存溢出 (stackoom.com) Stack Overflow - Where Develo…

UNET-RKNN分割眼底血管

前言 最近找到一个比较好玩的Unet分割项目,Unet的出现就是为了在医学上进行分割(比如细胞或者血管),这里进行眼底血管的分割,用的backbone是VGG16,结构如下如所示(项目里面的图片,借用的!借用标记出处&…

C语言函数大全--h开头的函数

C语言函数大全 本篇介绍C语言函数大全–h开头的函数或宏 1. hypot,hypotf,hypotl 1.1 函数说明 函数声明函数功能double hypot(double x, double y);计算直角三角形的斜边长(double)float hypotf (float x, float y);计算直角…

UPA/URA双极化天线的协方差矩阵结构

文章目录UPA的阵列响应向量(暂不考虑双极化天线)UPA阵列响应:从单极化天线到双极化天线UPA双极化天线的协方差矩阵结构参考文献UPA的阵列响应向量(暂不考虑双极化天线) 下图形象描述了UPA阵列的接收信号 UPA阵列的水平…

【springcloud 微服务】Spring Cloud 微服务网关Gateway使用详解

目录 一、微服务网关简介 1.1 网关的作用 1.2 常用网关 1.2.1 传统网关 1.2.2 云原生网关 二、gateway网关介绍 2.1 问题起源 2.2 引发的问题 2.2.1 重复造轮子 2.2.2 调用低效 2.2.3 重构复杂 2.3 gateway改进 三、Spring Cloud Gateway 介绍 3.1 Gateway 概述 …

【JSON学习笔记】3.JSON.parse()及JSON.stringify()

前言 本章介绍JSON.parse()及JSON.stringify()。 JSON.parse() JSON 通常用于与服务端交换数据。 在接收服务器数据时一般是字符串。 我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。 语法 JSON.parse(text[, reviver])参数说明: text:必需&…

Angular可视化指南 - 用Kendo UI图表组件创建数据可视化

Kendo UI for Angular是专业级的Angular UI组件库,不仅是将其他供应商提供的现有组件封装起来,telerik致力于提供纯粹高性能的Angular UI组件,而无需任何jQuery依赖关系。无论您是使用TypeScript还是JavaScript开发Angular应用程序&#xff0…

【机器学习(二)】线性回归之梯度下降法

文章目录专栏导读1、梯度下降法原理2、梯度下降法原理代码实现3、sklearn内置模块实现专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。 ✍ 本文录入于《数据分析之术》,本专栏精选了经典的机器…

1漏洞发现

漏洞发现-操作系统之漏洞探针类型利用修复 一、操作系统漏洞思维导图 相关名词解释: CVSS(Common Vulnerability Scoring System,即“通用漏洞评分系统”) CVSS是安全内容自动化协议(SCAP)的一部分通常C…

rockchip rk3588添加uvc及uvc,adb的复合设备

软硬件环境: 软件基础:我目前拿到的rk3588 sdk :gitwww.rockchip.com.cn:2222/Android_S/rk3588- manifests.git硬件基础:RK3588 LP4X EVB uvc_app: 从rv1126 sdk中rv1126_sdk/rv1126/external/uvc_app 目录移植而来。移植后&…

能翻译大量文字的软件-正规的翻译软件

复制自动翻译软件是一种能够复制并自动翻译文本的工具。当您阅读某一种语言的文本时,这种软件可以快速识别并翻译出来,以方便您更好地理解内容。与其他翻译软件不同的是,复制自动翻译软件可以直接在游览网站的过程中,直接对用户正…

【C++】命名空间,缺省参数,函数重载,引用,内联函数

目录1. 命名空间2. 输入输出3. 缺省参数4. 函数重载为什么C支持函数重载?5. 引用5.1 引用作函数参数(输出型参数)5.2 作函数的返回值关于函数的返回值:5.3 引用权限关于类型转换:5.4 引用和指针6. 内联函数6.1 C推荐的…

【千题案例】TypeScript获取两点之间的距离 | 中点 | 补点 | 向量 | 角度

我们在编写一些瞄准、绘制、擦除等功能函数时,经常会遇到计算两点之间的一些参数,那本篇文章就来讲一下两点之间的一系列参数计算。 目录 1️⃣ 两点之间的距离 ①实现原理 ②代码实现及结果 2️⃣两点之间的中点 ①实现原理 ②代码实现及结果 3…

JUC结构

JUC是java.util.concurrent包的简称在Java5.0添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题!进程与线程的区别:进程 : 一个运行中的程序的集合; 一个进程往往可以包含多个线程,至少包含一个线程…