说我有两节课:
public class UnitFilter
{
public int[] LanguageIds { get; set; } = { 1 };
public int LanguageId
{
get => LanguageIds[0];
set => LanguageIds = new int[value];
}
some properties
}
public class SomeOtherFilter
{
public int LanguageId {get;set;}
some properties
}
我想将SomeOtherFilter映射到UnitFilter
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<SomeOtherFilter,UnitFilter>().ReverseMap();
});
mapper = config.CreateMapper();
var request = new SomeOtherFilter(){LanguageId = 3};
var mappedRequest = mapper.Map<UnitFilter>(request);
我认为,作为UnitFilter的LangugeId属性的set方法正在设置LanguageIds数组,我希望这样做:
mappedRequest.LangugeId =3;
mappedRequest.LangugeIds[0] =3;
但是,我得到的是:
mappedRequest.LangugeId =0;
mappedRequest.LangugeIds[0] =0;
那么我的期望是错误的还是其他原因?