首页 > 解决方案 > 表达式树可能不包含输出参数变量声明 AutoMapper 映射来自

问题描述

我有以下映射(AutoMapper Version="10.1.1"):

CreateMap<FooClass, BarClass>()
    .ForMember(
        dest => dest.Status, 
        opt => opt.MapFrom(
            src => Enum.TryParse(src.Status ?? string.Empty, out Status result) ? result : Status.TEST_READY)
    );

但出现错误:

CS8198:表达式树可能不包含输出参数变量声明

知道如何在不需要创建自定义解析器的情况下完成此操作吗?

谢谢

标签: c#.net-coreautomapper

解决方案


尝试在 lambda 中添加src和目标(dest) 。

CreateMap<FooClass, BarClass>()
    .ForMember(
        dest => dest.Status, 
        opt => opt.MapFrom(
            (src, dest) => Enum.TryParse(src.Status ?? string.Empty, out Status result) ? result : Status.TEST_READY)
    );

推荐阅读