У меня ошибка, аналогичная этой , но, к сожалению, это не то же самое простое решение.Вот код:
public virtual void MapObject(T obj, IViewModel<T> viewModel, ITPSDataAccess dataAccess)
{
var objProps = obj.GetType().GetProperties();
var dtoProps = viewModel.GetType().GetProperties();
foreach (var dtoProp in dtoProps)
{
var objProp = dtoProps.SingleOrDefault(x => x.Name == dtoProp.Name);
if (objProp != null)
{
var dtoVal = dtoProp.GetValue(viewModel, null);
objProp.SetValue(obj, dtoVal, null); // ERROR HERE
}
}
...
}
Произошла ошибка в указанной точке с указанием «Объект не соответствует типу цели».Похоже, я передаю правильный объект для установки - поэтому я не могу решить проблему.
Я также попытался воспользоваться советом этого решения и проверитьтипы свойств, которые я пытаюсь установить, которые генерируют исключение - рассматриваемое свойство является строкой, и установщик, по-видимому, не нарушается, поскольку он работает в нормальных условиях без отражения.