首页 > 解决方案 > 反射 PropertyInfo SetValue C#

问题描述

我使用反射来获取属性。然后我想改变这个属性的值。

对于此示例,我想获取 type 的属性Task并用不同的Task对象覆盖该属性值。到目前为止,这是我的代码。它目前正在获取,Task PropertyInfo但我不知道在SetValue调用的第一个参数中放入什么。

var viewBindingProperty = viewBinding.GetType().GetProperty(typeof(Task).Name);

viewBindingProperty.SetValue(??, pageBinding.Task);

viewBindingProperty我需要用 with覆盖 Task Property 值的值pageBinding.Task

标签: c#reflectionsetvaluepropertyinfo

解决方案


假设 viewBinding 是您要更改其值的对象

viewBindingProperty.SetValue(viewBinding, pageBinding.Task);

第一个参数采用您要为其分配新值的对象。

https://msdn.microsoft.com/en-us/library/hh194291(v=vs.110).aspx


推荐阅读