gpt4 book ai didi

c# - Automapper - 将 2 个枚举值映射到 1 个值

转载 作者:行者123 更新时间:2023-11-30 16:24:07 25 4
gpt4 key购买 nike

我完全是 Automapper 的菜鸟,我想知道是否可以将源中的 2 个枚举值映射到目标中的 1 个枚举值。

在下面的示例中,我想将 VisaCredit 和 VisaDebit 都映射到 Visa。

来源:

public enum CardType { VisaCredit, VisaDebit, MasterCard, AmericanExpress, SwitchMaestro }

目的地:

public enum CardType { Visa, MasterCard, AmericanExpress, SwitchMaestro }

最佳答案

您可以为这些类型创建一个映射,然后定义一个自定义转换器:

Mapper.CreateMap<X.CardType, Y.CardType>().ConvertUsing(CardTypeConverter.Convert);

您的卡类型映射函数看起来与此类似(为简洁起见省略了其他映射):

public class CardTypeConverter
{
public static Y.CardType Convert(X.CardType cardType)
{
switch(cardType)
{
...

case X.CardType.VisaCredit:
case X.CardType.VisaDebit:
return Y.CardType.Visa;

...
}
}
}

这可能不是可用于将两个枚举值映射到一个枚举值的最简洁的方法,但它应该有效。

关于c# - Automapper - 将 2 个枚举值映射到 1 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com