[英]Ignore mapping an event with Automapper
我必須有兩個相同的對象( A
, B
)。 我想將所有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
的值,你會看到B
的PropertyChanged
事件將被觸發。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.