根据属性名称更改对象属性的值

问题描述

我想根据属性名称更改对象中目标属性的值。 示例:

// Returns a list of all the properties of an object
PropertyInfo[] properties = GetProperties(myObject);

// Set the values of all properties that contain "Show_" in their name to -1
foreach (PropertyInfo property in properties)
{
    if (property.Name.Contains("Show_"))
    {
        // update myObject's property value to -1
        // i.e. something like:
        // myObject.(property.Name) = -1;
    }
}

我该怎么做?

谢谢

解决方法

您可以使用SetValue

property.SetValue(myObject,-1,null);

您可以阅读文档here.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...