(C#)如何根据名称字段存储值?

时间:2016-08-07 00:29:16

标签: c# reflection getproperty

当我尝试这样做时,我有一个ArrayList,其中包含当前对象中的字段名称:

foreach(string name in array)
{
  PropertyInfo property =  this.GetType().GetProperty(name);
  property.SetValue(this, value , null);
}

执行失败,属性没有值(在SharpDevelop中只说“null”)。字段的名称是可以存在的,是什么时候发生的?

1 个答案:

答案 0 :(得分:0)

您的媒体资源是否有设置者(set访问者)。在设置属性之前更好地检查一下

if(property != null && property.CanWrite)
{
    property.SetValue(this, value , null);
}
顺便说一句,它是您尝试访问的字段或属性吗?既然你说字段的名称是正确的并存在