C# 向Automapper发送附加数据

C# 向Automapper发送附加数据,c#,automapper,C#,Automapper,我想向Automapper发送一些附加信息,以便在CreateMap中使用它们。似乎我必须使用映射操作选项和项 所以我的电话是这样的: var obj = Mapper.Map<class>(x, o => o.Items.Add("data", 23)); Mapper.CreateMap<ClassA, ClassB>() .ForMember(dst => dst.FieldA, opt => op

我想向Automapper发送一些附加信息,以便在
CreateMap
中使用它们。似乎我必须使用
映射操作选项

所以我的电话是这样的:

var obj = Mapper.Map<class>(x, o => o.Items.Add("data", 23));
Mapper.CreateMap<ClassA, ClassB>()
    .ForMember(dst => dst.FieldA,
        opt =>
            opt.ResolveUsing((resolution_result, src) =>
                (int)resolution_result.Context.Options.Items["data"] + src.FieldB));

关于Automapper的文档很少,我也没有提出任何建议,欢迎提供任何指导。

使用
ResolveUsing
而不是像这样使用
MapFrom

var obj = Mapper.Map<class>(x, o => o.Items.Add("data", 23));
Mapper.CreateMap<ClassA, ClassB>()
    .ForMember(dst => dst.FieldA,
        opt =>
            opt.ResolveUsing((resolution_result, src) =>
                (int)resolution_result.Context.Options.Items["data"] + src.FieldB));
Mapper.CreateMap()
.ForMember(dst=>dst.FieldA,
选择=>
选择ResolveUsing((resolution_result,src)=>
(int)解析_result.Context.Options.Items[“data”]+src.FieldB];

我正在使用
(int)resolution\u result.Context.Options.Items[“data”]+src.FieldB
作为示例。您可以从
resolution\u result.Context.Options.Items中读取任何数据段,并随意使用。

使用
resoluveUsing
会导致
无法将lambda表达式转换为类型“System.type”,因为它不是委托编译错误。我正在使用以下代码:.
FormMember(x=>x.FieldA,o=>o.ResolveUsing((result,src=>23))
如果您只想返回
23
为什么需要使用
ResolveUsing
?不,这是一个示例,我需要调用一个函数!;)FormMember(x=>x.FieldA,o=>o.ResolveUsing((result,src)=>StaticClass.StaticFunc(src.FieldA,src.FieldB,(long)result.Context.Options.Items[“data”]))您使用的AutoMapper版本是什么?
StaticClass.StaticFunc
方法的返回类型是否与ClassA.FieldA的类型相同?