我有许多从服务返回的 Enum 类型,并且我想映射到我的 Enum 类型。我想要的是创建一个具有所有转换逻辑的映射器类。我做了这样的事情:
public static class ErrEnumMapper
{
private static Dictionary<FullErrorTypeError, eError> dictionary;
static ErrEnumMapper()
{
var dictionary = new Dictionary<FullErrorTypeError, eError>()
{
{FullErrorTypeError.APP, eError.APPLICATION},
{FullErrorTypeError.INF, eError.INF},
{FullErrorTypeError.NO, eError.NONE},
{FullErrorTypeError.PAX, eError.PASSENGER},
{FullErrorTypeError.SYS, eError.SYSTEM}
};
}
public static eError GetEnum(FullErrorTypeError key)
{
var val = dictionary[key];
if (val != null)
return val;
throw new InvalidOperationException();
}
}
但是由于我有许多其他枚举,因此我将不得不创建许多静态字段(如“字典”字段)及其等效方法(如“GetEnum”)......有没有更好的方法来做到这一点?通用的可能吗?