我有一个已定义的对象,我希望使用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)
{
}
任何帮助将非常感激。
谢谢。
最佳答案
创建我的对象时,属性未正确初始化,因此setter属性正在生成空引用异常错误。
关于c# - PropertyDescriptor-GetValue()工作时SetValue()的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11769627/