c# - 反射 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
解决方案
假设 viewBinding 是您要更改其值的对象
viewBindingProperty.SetValue(viewBinding, pageBinding.Task);
第一个参数采用您要为其分配新值的对象。
https://msdn.microsoft.com/en-us/library/hh194291(v=vs.110).aspx
推荐阅读
- php - 如何使用 PHP 和 mssql_connect 将表情符号插入 SQL Server?
- javascript - Fabric JS 在运行 toDataURL 时会排除画布之外的所有对象和对象部分
- python - 如何在 Python 中使用 Matplotlib 弯曲文本?
- javascript - 在 JavaScript 中查找数组内具有重复名称的对象
- eclipse - 无法在 Eclipse 中运行项目。运行按钮消失。我可以看到在菜单中运行,但它不起作用
- c++ - 重命名 COM 类属性会破坏向后兼容性吗?
- python - 如何执行没有“.exe”扩展名的文件
- postgresql - postgresql中'For fetch only'的解决方案是什么?
- c# - 如何在 C# 中向 Switch-Cases 添加 Y/N?
- python - 如何绘制 Pandas Dataframe 中每一列的空值计数