使用AutoMapper时,我正在使用一个ValueResolver返回以下结构的内容。
struct MyStruct
{
public int propA;
public int propB;
public int propC;
}
class MyResolver : ValueResolver<MyViewModel, MyStruct>
{
protected override MyStruct ResolveCore(MyViewModel source)
{
....return MyStruct data
}
}
由于映射规则非常复杂,并且我无法为每个属性编写自定义解析器,因此我返回了一个结构体。这些属性彼此相关。
所以我的想法是在一个解析器中完成这个过程,并返回一个结构体,然后像这样使用它
AutoMapper.Mapper.CreateMap<MyViewModel, myData>()
.ForMember(dest => dest.SomePropA, src => src.ResolveUsing<MyResolver>().propA))
.ForMember(dest => dest.SomePropB, src => src.ResolveUsing<MyResolver>().propB))
很遗憾,这并不起作用。
看起来src.ResolveUsing<MyResolver>()
没有返回一个结构体
非常感谢任何帮助。
谢谢。
switch case
,根据输入值返回某些内容。 - janv8000