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

Change the values of an object's properties, depending on the property's name

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

// 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.