我有一个CreateMap:
node("kaniko-jnlp") {
stage('Building Stage') {
git 'https://github.com/jenkinsci/docker-jnlp-slave.git'
sh ''' /kaniko/executor -f `pwd`/Dockerfile -c `pwd` --insecure-
skip-tls-verify --cache=true
--- destination=gcr.io/project/project:v1 '''
}
然后我执行转换(vm是我的视图模型):
CreateMap<ExtractInsertRequestViewModel, Extract>()
.ConstructUsing(source => new Extract(source.MemberId,
source.IsChargeBack,
source.Type,
source.Description,
source.Value,
source.VerifyBalanceBeforeRedeem))
但是在我的Extract ctor内部,我有2个函数可以更改值(SetStatus和SetValue):
var extract = Mapper.Map<Extract>(vm);
问题是,使用任何一个函数更改了值之后,将使用原始值创建Extract对象结果。
例如:我通过了一个带有正值的借方操作。 SetValue方法应转换为负值,但在最终对象中,该值仍为正值。
在我看来,ConstructUsing在构造函数之后运行。构造函数设置了正确的值,但是ConstructUsing用原始值覆盖了这些值。
对这里发生的事情有任何想法吗?
谢谢!