Вызывающий установщик с возвращаемым значением из вызванного получателя, исключение: - PullRequest
0 голосов
/ 24 декабря 2010

Я пытаюсь сделать что-то вроде этого:

object value = sourceProperty.Invoke(this, new object[] { });
targetProperty.Invoke(target, new object[] { value });

где source / targetProperty Значения MethodInfo объекты. Во время выполнения этого кода уже есть гарантия того, что свойства относятся к одному и тому же типу, и что оба объекта: this и объект target имеют эти свойства .

Это работает большую часть времени, но я сталкиваюсь с исключением, когда тип свойства int :

"TargetException: объект не соответствует типу цели."

Есть идеи, что здесь может происходить?

РЕДАКТИРОВАТЬ: Это решено, см. Комментарии.

1 Ответ

0 голосов
/ 24 декабря 2010

Оказывается, я использовал PropertyInfo [] из объекта this вместо target , когда пытался найти свойство, соответствующее имя исходного свойства.

У целевого объекта действительно было свойство, которое он должен был иметь, и типы свойств совпадали, а типы объекта, возвращаемого из исходного свойства, соответствовали целевому свойству (которое было ошибочным установщиком объекта this вместо установщик целевого объекта), так что ничто не указывает на это.

Я заметил проблему при форматировании блока кода для редактирования моего вопроса.

...