【问题标题】:An expression tree may not contain an out argument variable declaration AutoMapper map from表达式树可能不包含输出参数变量声明 AutoMapper 映射来自
【发布时间】:2021-01-22 01:57:42
【问题描述】:

我有以下映射(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:表达式树可能不包含输出参数变量 声明

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

谢谢

【问题讨论】:

  • 你只需要写一个方法来使用,而不是Enum.TryParse,它没有out参数。

标签: c# .net-core automapper


【解决方案1】:

尝试在 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)
    );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 2012-05-13
    • 2013-07-27
    相关资源
    最近更新 更多