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

本文关键字:字段 存储 何根 | 更新日期: 2023-09-27 18:01:05

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

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

执行失败,属性没有值(在SharpDevelop中只显示"null"(。字段的名称是可以的并且存在,会发生什么?

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

属性是否有setter(set访问器(。在设置类似的属性之前,最好检查一下
if(property != null && property.CanWrite)
{
    property.SetValue(this, value , null);
}

顺便说一句,这是你试图访问的字段还是属性?因为您说字段的名称是可以的并且存在