Может ли AutoMapper сопоставлять типы значений ( Enum) и ссылочный тип? (строка)

Странная проблема - i ' m пытается сопоставить enum и строку , используя AutoMapper:

Mapper.CreateMap<MyEnum, string>()
   .ForMember(dest => dest, opt => opt.MapFrom(src => src.ToString()));

Не беспокойтесь, что я использую .ToString () , на самом деле я Я использую метод расширения в самом перечислении ( .ToDescription () ), но я оставил его простым ради вопроса.

Приведенное выше вызывает ссылку на объект ошибка, когда я просто настраиваю сопоставление.

Учитывая, что это работает:

string enumString = MyEnum.MyEnumType.ToString();

Я не понимаю, почему моя конфигурация AutoMapper не работает.

Может AutoMapper справиться с этим, я что-то делаю не так, или это ошибка AutoMapper?

Есть идеи?

РЕДАКТИРОВАТЬ

Я также пробовал использовать специальный преобразователь :

Mapper.CreateMap<MyEnum, string>()
                .ForMember(dest => dest, opt => opt.ResolveUsing<MyEnumResolver>());

public class MyEnumResolver: ValueResolver<MyEnum,string>
{
   protected override string ResolveCore(MyEnum source)
   {
      return source.ToString();
   }
}

Та же ошибка в той же строке. : php принимает массив postgresql, например '{"foo", "bar"}' Мне нужна простая функция php для создания многомерного массива postgresql из php ...

Теперь php не может работать напрямую с массивом Postgresql. Например, php принимает массив postgresql, например '{"foo","bar"}'

I need simple php function to create multidimensional postgresql array from php array.

I think that experimental pg_convert() isn't optimal because it needs of extra data to form simple array string for database output, maybe I misunderstood the idea of this function.

For example, I need to convert

$from=array(  array( "par_1_1","par_1_2" ), array( "array_2_1", "array_2_2" )  );
$to='{{"par_1_1","par_1_2"},{"par_2_1","par_2_2"}}';

Can I use array_walk_recursive() to convert the deepest elements of array?

9
задан ISE 12 April 2011 в 06:47
поделиться