创建自定义映射方法以使用 Riok.Mapperly 映射属性

问题描述 投票:0回答:1

使用 Riok.Mapperly 和 C#,我需要映射包含此类值的字符串类型属性

"1_2_4_8"
并将其映射到
List<int>
。 我知道我可以向映射类添加一个方法供 Mapperly 选择,如下所示:

[Mapper]
public static partial class CountryMapper
{
    public static partial M.Country ToBoCountry(this EF.Country country);
    private static List<int> SplitUnderscore(string? str)
    {
        return str is null ? [] : [.. str.Split('_').Where(x => 
            !string.IsNullOrEmpty(x)).Select(int.Parse)];
    }
}

这样,如果 County 类中的其他属性有一个具有这样的值的字符串

"1|2|4|8"
,我就无法创建像这样的另一个方法:

private static List<int> SplitPipe(string? str)
{
    return str is null ? [] : [.. str.Split('|').Where(x => 
        !string.IsNullOrEmpty(x)).Select(int.Parse)];
}

它只会选择它找到的第一个。

有没有办法指示mapperly使用什么方法来映射特定的属性?

c# mapper mapperly
1个回答
0
投票

Mapperly 还无法做到这一点。你需要的是#783。实现此功能的 PR 已开放,可能会在几周内合并。

© www.soinside.com 2019 - 2024. All rights reserved.