首页 > 其他分享 >Mappest操作

Mappest操作

时间:2024-10-18 16:24:55浏览次数:5  
标签:Mappest set get List class 操作 new public

 1 public static class MappTest
 2 {
 3     public static void Run()
 4     {
 5         var config = new TypeAdapterConfig();
 6         //只要配置需要处理的类,并支持多个属性操作
 7         config.ForType<MiddleClass, MiddleClass2>()
 8             .Map(dest => dest.NamesJson, src => JsonConvert.SerializeObject(src.InnermostClasses));
 9         config.ForType<MiddleClass, MiddleClass2>()
10             .Map(dest => dest.MidMyProperty, src => src.MidMyProperty-1);
11         var mapper = new Mapper(config);
12         var outerClass = new OuterClass
13         {
14             MyProperty=1,
15             MiddleClasses = new List<MiddleClass>
16             {
17                 new MiddleClass
18                 {
19                     MidMyProperty=2,
20                     InnermostClasses = new List<InnermostClass>
21                     {
22                         new InnermostClass
23                         {
24                             Names = new List<Dto>
25                             {
26                                 new Dto { Name = "Item1" },
27                                 new Dto { Name = "Item2" }
28                             }
29                         }
30                     }
31                 }
32             }
33         };
34         var outerDto = mapper.Map<OuterDto>(outerClass);
35     }
36     public class OuterDto
37     {
38         public int MyProperty { get; set; }
39         public List<MiddleClass2> MiddleClasses { get; set; }
40     }
41     public class OuterClass
42     {
43         public int MyProperty { get; set; }
44         public List<MiddleClass> MiddleClasses { get; set; }
45     }
46 
47     public class MiddleClass
48     {
49         public int MidMyProperty { get; set; }
50         public List<InnermostClass> InnermostClasses { get; set; }
51     }
52     public class MiddleClass2
53     {
54         public int MidMyProperty { get; set; }
55         public string NamesJson { get; set; }
56     }
57 
58     public class InnermostClass
59     {
60         public List<Dto> Names { get; set; }
61     }
62 
63     public class Dto
64     {
65         public string Name { get; set; }
66     }
67 }

调用:

MappTest.Run();
返回结果:

 

 

 

标签:Mappest,set,get,List,class,操作,new,public
From: https://www.cnblogs.com/bindot/p/18474517/mappest

相关文章

  • ArkWeb页面加载与浏览记录导航 - 基础操作
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。简介在ArkWeb框架中,页面加载和浏览记......
  • 通义灵码操作指南
    点击链接,立即下载通义灵码插件:https://tongyi.aliyun.com/lingma/安装和登陆指南兼容IDE和系统本文介绍通义灵码IDE插件兼容的IDE、操作系统等。JetBrainsIDEsIDE版本:IntelliJIDEA、PyCharm、GoLand、WebStorm、AndroidStudio等2020.3及以上操作系统:Windows7......
  • 解决一下、在学习江协科技stm32f103开发板操作寄存器无法点亮小灯,但是可以正常熄灭遇
    目录 本人问题:目前搜集网上有关信息有两种解决方案: 本人问题:问题:学习江协科技用操作寄存器的方式进行点亮小灯,代码正确,但是点亮小灯无法点亮,需要重新拔下来下载器再插入电脑USB口才可以点亮。但是熄灭小灯可以正常实现。本人代码:点亮:#include"stm32f10x.h"......
  • C++连接Simnow Linux API实现简单量化交易操作文档
    C++连接SimnowLinuxAPI实现简单量化交易技术文档写在前面:本文为本人学习上期所SimnowLinuxAPI连接行情和交易接口时整理的学习笔记,欢迎沟通交流~一、背景SimNow是上海期货交易所全资子公司上期技术公司专为投资者打造的期货模拟仿真交易平台,通过CTP系统,量化交易投......
  • IO操作
    基本概念System.IO命名空间有各种不同的类,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等。以下是一些常用的类及其用途:File类提供静态方法来读写文件,如复制、删除、移动文件等。File.Exists():判断文件是否存在if(File.Exists("D:\\test.txt"))Con......
  • 3191. 使二进制数组全部等于 1 的最少操作次数 I
    给你一个二进制数组nums。你可以对数组执行以下操作任意次(也可以0次):选择数组中任意连续3个元素,并将它们全部反转。反转一个元素指的是将它的值从0变1,或者从1变0。请你返回将nums中所有元素变为1的最少操作次数。如果无法全部变成1,返回-1。示例......
  • 初识TS-类型多种操作
    类型推论在ts中,没有明确指出类型,ts的类型推论会帮助提供类型类型断言当ts类型太宽泛的时候,可以使用类型断言 as 指定更加具体的类型constalink:HTMLElement=document.getElementById('link')alink.link?//这种写法会报错,HTMLElement类型太宽泛了正确写法//常用写......
  • python文件操作
    1.文件的编码思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢?答案:使用编码技术(密码本)将内容翻译成0和1存入。计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中,同时也需要编码,将计算机保存的0和1,反向翻译回可以识别的内容不......
  • Response & web登录操作 -2024/10/17
    响应行设置响应状态码:voidsetStatus(intsc);设置响应头键值对:voidsetHeader(Stringname,Stringvalue);response实现重定向resp.setStatus(302);resp.setHeader("location","https://www.4399.com");前端a.html登录,将结果传给后端,用request接收,用M......
  • 【哈工大_操作系统实验】Lab5 基于内核栈切换的进程切换
    本节将更新哈工大《操作系统》课程第五个Lab实验基于内核栈切换的进程切换。按照实验书要求,介绍了非常详细的实验操作流程,并提供了超级无敌详细的代码注释。Linux0.11采用TSS和一条指令完成任务切换,虽然简单但执行时间长。堆栈实现任务切换更快,且可以使用指令流水......