我正在尝试编写一些在结构上设置属性的代码(重要的是它是结构上的属性)并且它失败了:
System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle();
PropertyInfo propertyInfo = typeof(System.Drawing.Rectangle).GetProperty("Height");
propertyInfo.SetValue(rectangle, 5, null);
Run Code Online (Sandbox Code Playgroud)
高度值(由调试器报告)永远不会设置为任何值 - 它保持默认值0.
我之前已经对课程进行了大量的反思,但这种方法运行良好.另外,我知道在处理结构时,如果设置字段,则需要使用FieldInfo.SetValueDirect,但我不知道PropertyInfo的等效项.