zoukankan      html  css  js  c++  java
  • [非专业翻译] Mapster

    [非专业翻译] Mapster - 映射非公开的成员

    系列介绍

    [非专业翻译] 是对没有中文文档进行翻译的系列博客,文章由机翻和译者自己理解构成,和原文相比有所有不同,但意思基本一致。

    因个人能力有限,如有谬误之处还请指正,多多包涵。

    正文

    本文将说明 Mapster 如何映射非公开的成员

    启用映射非公开成员

    调用 EnableNonPublicMembers 方法配置启用映射非公开成员:

    // 特定类型
    TypeAdapterConfig<Poco, Dto>.NewConfig().EnableNonPublicMembers(true);
    
    // 全局默认
    TypeAdapterConfig.GlobalSettings.Default.EnableNonPublicMembers(true);
    

    [AdaptMember ] 特性标签

    通过给非公开成员添加 [AdaptMember] 特性标签实现映射非公开成员:

    public class Product 
    {
        [AdaptMember]
        private string HiddenId { get; set; }
        public string Name { get; set; }
    }
    

    使用 Map 方法

    使用 Map 方法可以通过指定成员名称映射非公开成员:

    TypeAdapterConfig<TSource, TDestination>
        .NewConfig()
        .Map("PrivateDestName", "PrivateSrcName");
    

    使用 IncludeMember 方法

    使用 IncludeMember 方法,可以选择根据成员的访问修饰符决定是否进行映射:

    TypeAdapterConfig.GlobalSettings.Default
        .IncludeMember((member, side) => member.AccessModifier == AccessModifier.Internal 
                                         || member.AccessModifier == AccessModifier.ProtectedInternal);
    

    映射非公开成员的注意事项

    如果类型中不存在任何公开成员,Mapster 将不会映射非公开成员,若要实现非公开成员映射,那么需要显示的配置映射:

    TypeAdapterConfig.GlobalSettings.Default.EnableNonPublicMembers(true);
    TypeAdapterConfig<PrivatePoco, PrivateDto>.NewConfig();
    
    目前学习.NET Core 最好的教程 .NET Core 官方教程 ASP.NET Core 官方教程
    如果您认为这篇文章还不错或者有所收获,您可以点击右下角的【推荐】支持,或请我喝杯咖啡【赞赏】,这将是我继续写作,分享的最大动力!
    声明:原创博客!请在转载时在文章开头注明本人博客地址。如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!
  • 相关阅读:
    c#的运算符
    modbus-poll和modbus-slave工具的学习使用——modbus协议功能码1的解析
    modbus-poll和modbus-slave工具的学习使用——环境搭建
    STM32L4R9使用HAL库调试IIC注意事项
    蓝牙透传——介绍蓝牙最简单、最常见的通讯方式
    Chapter 2 Open Book——11
    Chapter 2 Open Book——10
    Chapter 2 Open Book——9
    线程中sleep方法和wait方法有什么区别?
    你所不知道的mybatis居然也有拦截器
  • 原文地址:https://www.cnblogs.com/staneee/p/14913674.html
Copyright © 2011-2022 走看看