繁体   English   中英

忽略使用Automapper映射事件

[英]Ignore mapping an event with Automapper

我必须有两个相同的对象( AB )。 我想将所有A属性映射到B属性,但我希望在映射时忽略PropertyChanged事件。

PropertyChanged的签名是:

public event PropertyChangedEventHandler PropertyChanged;

我的B对象在PropertyChanged befor映射中有一些值,但以下代码导致: B.PropertyChanged == Null

B = Mapper.Map<myClass, myClass>(A);

我试过这个:

Mapper.CreateMap<myClass, myClass>().ForMember(x => x.PropertyChanged, opt => opt.Ignore())

但我得到这个错误:

... PropertyChanged只能出现在+ =或 - =的左侧...

如何忽略使用Automapper映射事件处理程序属性?

您正在使用错误的映射语句。

B = Mapper.Map<myClass, myClass>(A);

创建一个新的B对象 上一个对象消失了。 显然,新的B没有事件处理程序。

相反,你应该使用

Mapper.Map(A, B);

现在现有的 B接收A的值,你会看到BPropertyChanged事件将被触发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM