大佬教程收集整理的这篇文章主要介绍了[非专业翻译] Mapster - 映射配置验证和编译,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[非专业翻译] 是对没有中文文档进行翻译的系列博客,文章由机翻和译者自己理解构成,和原文相比有所有不同,但意思基本一致。
因个人能力有限,如有谬误之处还请指正,多多包涵。
本文将说明 Mapster 中的 映射配置验证和编译
为了在单元测试中验证映射,并帮助处理 "Fail Fast" 情况,添加了以下严格映射模式。
通过修改 配置实例 requireExplicitMapping
值决定是否开启强制显示映射。
当 requireExplicitMapping
值为 true
时,所有类型映射必须显式配置,即使非常简单:
// 默认值为: "false"
TypeAdapterConfig.GlobalSetTings.requireExplicitMapping = true;
// 当你必须为每个类有一个显式的配置,即使它只是:
TypeAdapterConfig<source, DesTination>.NewConfig();
通过修改 配置实例 requireDesTinationMembersource
值决定是否开启强制目标类型成员检查。
当 requireDesTinationMembersource
值为 true
时,所有 目标类型的字段 必须与 源类型字段 保持一致或显示的指定映射或忽略成员:
// 默认值为: "false"
TypeAdapterConfig.GlobalSetTings.requireDesTinationMembersource = true;
调用 TypeAdapterConfig<source, DesTination>.NewConfg()
的 Compile
方法将验证 特定类型的映射配置是否存在错误;
调用 配置实例 的 Compile
方法以验证 配置实例中的映射配置 是否存在错误;
另外,如果启用了 显式映射 , 它还将包含没有在映射器中注册的类的错误。
// 验证特定配置
var config = TypeAdapterConfig<source, DesTination>.NewConfig();
config.Compile();
// 验证整个配置实例的配置
TypeAdapterConfig<source, DesTination>.NewConfig();
TypeAdapterConfig<source2, DesTination2>.NewConfig();
TypeAdapterConfig.GlobalSetTings.Compile();
var result = poco.Adapt<Dto>();
你也可以通过调用 配置实例 或 特定映射配置的Compile
方法编译映射:
// 全局配置实例
TypeAdapterConfig.GlobalSetTings.Compile();
// 配置实例
var config = new TypeAdapterConfig();
config.Compile();
// 特定配置
var config = TypeAdapterConfig<source, DesTination>.NewConfig();
config.Compile();
推荐在程序添加映射配置完成后调用一次 Compile
方法,可以快速验证 映射配置中是否存在错误,而不是在运行到某一行业务代码时触发错误降低效率。
注意!调用
Compile
方法前应该完成所有的映射配置,调用Compile
方法之后 配置实例 就不允许添加修改其它映射配置!
以上是大佬教程为你收集整理的[非专业翻译] Mapster - 映射配置验证和编译全部内容,希望文章能够帮你解决[非专业翻译] Mapster - 映射配置验证和编译所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。