从调用的getter调用带有返回值的setter,异常:

时间:2010-12-24 18:04:31

标签: c# .net invoke

我正试图做这样的事情:

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

其中 source / targetProperty 值为 MethodInfo 对象。在执行此代码时,已经保证属性属于同一类型,并且对象和目标对象都具有这些属性在他们身上。

大部分时间都可以使用,但是当属性类型为 int 时,我遇到异常:

“TargetException:Object与目标类型不匹配。”

知道会发生什么事吗?

编辑:已解决,请参阅评论。

1 个答案:

答案 0 :(得分:0)

当我试图找到该属性时,我发现我正在使用对象中的 PropertyInfo [] 而不是目标与源属性的名称匹配。

目标对象确实具有它应该具有的属性,并且属性类型匹配,并且从source属性返回的对象的类型与target属性匹配(错误地是此对象的setter而不是目标对象的setter),所以没有任何指向这个。

在格式化代码块以编辑我的问题时,我注意到了这个问题。