在这里,我试图设置ToolStripProgressBar的RIghtToLeftLayout属性,当我试图设置值true或false时,我会得到这个错误。。。。。
位于System.Windows.Forms.ToolStripProgressBar.set_RightToLeftLayout(布尔值)对象引用未设置为对象的实例
这是代码:
PropertyInfo piRightToLeftLayout = ci.Type.GetProperty("RightToLeftLayout", typeof(bool));
if ((null != piRightToLeftLayout) && piRightToLeftLayout.CanWrite)
{
piRightToLeftLayout.GetSetMethod().Invoke(ci.Value, new object[] { IsRightToLeft() });
}
IsRightToLeft():返回true或false。
请帮我解决这个问题。
你为什么要通过反思来做这件事?ToolStripProgressBar.RightToLeftLayout
是公共财产。
就NullReferenceException而言,setter所做的只是:
set
{
this.ProgressBar.RightToLeftLayout = value;
}
这意味着ProgressBar属性为null,这看起来很奇怪。我想知道你在打电话之前在做什么,以及ci
是如何设置的。