相关疑难解决方法(0)

AutoMapper字符串以枚举描述

鉴于要求:

获取对象图,根据第二个字符串属性的处理值设置所有枚举类型属性.约定规定源字符串属性的名称将是具有后缀"Raw"的枚举属性的名称.

通过处理我们意味着我们需要剥离指定的字符等

我看过自定义格式化程序,值解析器和类型转换器,这些都不是解决方案吗?

我们希望使用AutoMapper而不是我们自己的反射例程,原因有两个:a)它在项目的其余部分广泛使用,b)它为您提供递归遍历ootb.

- 示例 -

鉴于下面的(简单)结构,这个:

var tmp = new SimpleClass 
  { 
       CountryRaw = "United States",
       Person = new Person { GenderRaw="Male" }
  };

var tmp2 = new SimpleClass();

Mapper.Map(tmp, tmp2);
Run Code Online (Sandbox Code Playgroud)

我们希望tmp2的MappedCountry枚举为Country.UnitedStates,Person属性的性别为Gender.Male.

public class SimpleClass1
{
  public string CountryRaw {get;set;}

  public Country MappedCountry {get;set;}

  public Person Person {get;set;}
}

public class Person
{
  public string GenderRaw {get;set;}

  public Gender Gender {get;set;}

  public string Surname {get;set;}
}

public enum Country
{
  UnitedStates = 1,
  NewZealand = …
Run Code Online (Sandbox Code Playgroud)

enums automapper valueinjecter

5
推荐指数
1
解决办法
3314
查看次数

标签 统计

automapper ×1

enums ×1

valueinjecter ×1