簡體   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