MappingGenerator PRO 2023.3 Visual Studio 2019-2022

您的私人编码助手

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.mfbz.cn/a/10643.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT风口下的中外“狂飙”,一文看懂微软、谷歌、百度、腾讯、华为、字节跳动们在做什么?

毫无疑问,ChatGPT正成为搅动市场情绪的buzzword。 历史经历过无线电,半导体,计算机,移动通讯,互联网,移动互联网,社交媒体,云计算等多个时代,产业界也一直在寻找Next Bi…

Golang每日一练(leetDay0031)

目录 91. 解码方法 Decode Ways 🌟🌟 92. 反转链表 II Reverse Linked List II 🌟🌟 93. 复原 IP 地址 Restore IP Addresses 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练…

【JVM】JVM之执行引擎

文章目录一、前言二、名词解释机器码指令指令集汇编语言高级语言字节码虚拟机&物理机前端编译器&后端编译器三、JVM之执行引擎执行引擎是如何工作的?解释器即时编译器(JIT)分层编译策略虚拟机执行模式热点代码&探测方式1&#xf…

如何在 Linux 中使用 Chage 命令,修改Linux系统用户密码更改策略

Chage是一个用于修改Linux系统用户密码更改策略的命令行工具。在本文中,我们将介绍如何在Linux系统中使用Chage命令。 检查用户密码过期信息 使用Chage命令可以检查用户密码更改策略和过期信息。要检查特定用户的密码过期信息,可以使用以下命令&#x…

PPT NO.1【用ppt如何做一张海报+字体】

PPT做得好的人,一定是站在观众的角度思考的人。 1、设置幻灯片尺寸大小: 设置完成后如下: 2、加载一张自己喜欢的图片进来:【图片越高清越好】 将图片铺满空白的地方,调整好自己喜欢的区域: 做裁剪&#xf…

数据结构---递归转化为非递归

递归转化为非递归前言快速排序非递归归并排序的非递归前言 为什么要学习非递归写法呢? 当我们在用递归实现一个程序的时候,要考虑一个问题,这个程序用递归去实现,当数据量庞大的时候,会不会造成栈溢出(STACK OVERFLOW…

代码随想录_226翻转二叉树、101对称二叉树

leetcode 226. 翻转二叉树 ​​​226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:r…

算法训练第五十五天 | 392.判断子序列、115.不同的子序列

动态规划part15392.判断子序列题目描述思路总结115.不同的子序列题目描述思路392.判断子序列 题目链接:392.判断子序列 参考:https://programmercarl.com/0392.%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97.html 题目描述 给定字符串 s 和 t &…

【CocosCreator入门】CocosCreator组件 | Graphics(绘制)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中Graphics组件允许您在游戏中绘制2D图形和几何形状,并通过编写脚本来控制其外观和行为。 目录 一、组件属性 二、组件方法 三、脚本示例 一、组件属性 属性功能说明lineW…

面试篇-Java并发之CAS:掌握原理、优缺点和应用场景分析,避免竞态问题

1、CAS介绍及原理 多线程中的CAS(Compare-and-Swap)操作是一种常见的并发控制方法,用于实现原子性更新共享变量的值。其核心思想是通过比较内存地址上的值和期望值是否相等来确定是否可以进行更新操作,从而避免多线程条件下的竞态…

用PyTorch构建基于卷积神经网络的手写数字识别模型

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 目录 一、MINST数据集介绍与分析 二、卷积神经网络 三、基于卷积神经网络的手写数字识别 一、MINST数据集介绍与分析 MINST数据库是机器学习领域非常经典的一个数据集&#xff0c…

动力节点王鹤SpringBoot3笔记——第八章 文章管理模块

目录 第八章 文章管理模块 8.1 配置文件 8.2 视图文件 8.3 Java代码 第八章 文章管理模块 创建新的Spring Boot项目,综合运用视频中的知识点,做一个文章管理的后台应用。 新的Spring Boot项目Lession20-BlogAdmin。Maven构建工具,包…

【UE4】关卡流送的demo

关卡流送功能可以将地图文件加载到内存中,或者从内存中卸载,并在游戏过程中切换地图的可视性。 这样一来,场景便能拆分为较小的地图块,并且只有相关部分才会占用资源并被渲染。 正确设置后,开发者便能创建大型、无缝衔…

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

场景 目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and …

ChatGPT批量翻译-ChatGPT批量生成多国语言

ChatGPT翻译的准吗 ChatGPT是一种基于Transformer架构的自然语言处理技术,其翻译准确性取决于所训练的模型和数据集的质量。在特定的语料库和训练数据下,ChatGPT可以实现一定程度的准确翻译。但是,与人工翻译相比,ChatGPT的翻译质…

LeetCode_101

千奇百怪的排序算法 快速排序 采用左闭右开的二分写法 归并排序 插入排序 冒泡排序 选择排序 以上代码的调用方式: 快速选择 在一个未排序的数组中,找到第 k 大的数字 快速选择一般用于求解 k-th Element 问题,可以在 O(n) 时间复杂度&…

Unix、UTC、GPS时间戳及转换

UTC时间 UTC时间的英文全称:Universal Time Coordinated,中文名称:协调世界时。俗的理解为,这个时间是全世界通用的,即全世界都公用的一个时间。可以认为格林威治时间就是时间协调时间(GMTUTC)&…

测试名词介绍

测试名词介绍一:敏捷测试1. 定义:2. 敏捷测试的核心:3. 敏捷测试的8大原则和传统测试的区别二:测试名词介绍瀑布模型回归测试Alpha测试Beta测试性能测试白盒测试黑盒测试灰盒测试三:测试流程单元测试 (unit test)集成测…

ChatGPT想干掉开发人员,做梦去吧

很多人都发现ChatGPT可以做一些代码相关的工作,不仅可以写一些基础的类似python、java、js的代码段,还可以做一定量的调优,于是就开始担忧起来,到哪天我的开发工作会不会被ChatGPT这个工具给取代了? 目录 1. ChatGPT…

前 K 个高频元素(力扣刷题代码随想录刷题)

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 思路: 要统计元素出现频率对频率排序找出前K个高频元素首先统计元素出现的频率,这一类的问题可以使用map来进行统计。 然后是对频率…