2014-12-23 3 views
0

Когда я спросил об этом question об объектах AutoMapper и protected, я получил ответ от Jimmy Bogard (соавтор AutoMapper). Он предположил, что мы можем инициализировать BindingFlags, используя код, который я наклеил ниже. Проблема заключается в том, я получаю следующее сообщение об ошибке и не знаю, как это исправить:AutoMapper: как инициализировать BindingFlags?

«AutoMapper.IConfiguration не содержит определение для „BindingFlags“и нет методы расширения ...»

Вот код:

Mapper.Initialize(cfg => 
      { 
       cfg.BindingFlags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance; 
       cfg.CreateMap<PolicyDetail, Policy>(); 
      }); 

UPDATE:

я сделал не имеет AutoMapper 3.3.0. Как только я обновился, этот код работал. Благодаря Герту Арнольду.

+1

'BindingFlags' был добавлен недавно. Это в версии 3.3.0. –

+0

@GertArnold ... это ответ, у меня не было последней версии. –

+0

Это, по-видимому, было устаревшим с 3.3.1, так как в настоящее время нет способа сделать это? –

ответ

0

Похоже, он должен работать, глядя на исходный код, IConfiguration наследует от IProfileExpression, который наследует от IMappingOptions, который содержит открытое свойство со следующим определением:

BindingFlags BindingFlags { get; set; } 

См AutoMapper > src > UnitTests > BindingFlagsConfiguration.cs для примера для сравнения к тому, что у вас есть.

Смежные вопросы