【发布时间】:2010-02-17 12:53:24
【问题描述】:
我想为以下类定义一个映射(甚至是 TypeConverter/Resolver): 目的地:
public class Destination
{
public DestinationEnum EnumProperty { get; set; }
public Destination()
{
EnumProperty = DestinationEnum.undefined;
}
}
public enum DestinationEnum
{
oneValue,
anotherValue,
undefined
}
来源:
public enum SourceEnum
{
fu,
ba
}
public enum AnotherSourceEnum
{
first,
second,
third
}
public class Source
{
public SourceEnum SourceEnumVal { get; set; }
}
public class ConcreteSource : Source
{
public AnotherSourceEnum ConcreteSourceEnumVal { get; set; }
}
如果我想根据具体的源类型在 Destination 类中指定 DestinationEnum 的目标值,AutoMapper 映射会是什么样子? 例如。
- 如果映射器从类“Source”映射到“Destination”,如果 Source.SourceEnumVal == fu,则 Destination.EnumProperty 应设置为“undefined”
- 如果映射器从类“source”映射到“Destination”,则 Destination.EnumProperty 应设置为“oneValue”(如果 Source.SourceEnumVal == “ba”)
- 如果映射器从“ConcreteSource”类映射到“Destination”,则 Destination.EnumProperty 应设置为“oneValue”,如果 ConcreteSource.ConcreteSourceEnumVal == “second”
- 如果映射器从类“ConcreteSource”映射到“Destination”,则 Destination.EnumProperty 应设置为“undefined” if ConcreteSource.ConcreteSourceEnumVal != “second”
【问题讨论】:
标签: enums automapper