2

我有一个我已经定义的对象,我希望使用 PropertyDescriptor 修改它的一个名为“DeviceType”的属性,但它不适合我。

我可以检索属性 DeviceType 的值,但是当我使用 SetValue() 更改其属性值时,即使我尝试将属性设置为与我刚刚检索到的值相同。

这是一些代码:

PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(theBase);
var objValue = properties["DeviceType"].GetValue(theBase);

try 
{
    if (theBase != null && objValue != null)
    {
        properties["DeviceType"].SetValue(theBase, objValue);
    }
}
catch (Exception ex)
{

}

任何帮助将非常感激。谢谢。

4

1 回答 1

2

创建我的对象时,该属性未正确初始化,因此 setter 属性生成空引用异常错误。

于 2012-08-02T17:16:03.867 回答