• [非专业翻译] 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 官方教程
    如果您认为这篇文章还不错或者有所收获,您可以点击右下角的【推荐】支持,或请我喝杯咖啡【赞赏】,这将是我继续写作,分享的最大动力!
    声明:原创博客!请在转载时在文章开头注明本人博客地址。如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!
  • 相关阅读:
    个人笔记 1.3.net 3.5新特性
    个人笔记 1.2.net 2.0新特性
    面试了,web标准能简单说下吗?w3c,,错了
    SEO网络营销热门关键词排名较好的反向链接
    eWebEditor在ie8下上传失效
    个人笔记 1.4.net 3.0新特性
    个人笔记 1.5.http状态值
    MOSS项目开发(5) 会议还是会议
    MOSS项目开发 周记(第二周)
    MOSS项目开发 周记(第五周)
  • 原文地址:https://www.cnblogs.com/staneee/p/14913674.html
Copyright © 2020-2023  润新知