(C#) 如何根据name字段存值?
(C#) How to store value based on the name field?
我有一个 ArrayList,其中包含当前对象中的字段名称,当我尝试这样做时:
foreach(string name in array)
{
PropertyInfo property = this.GetType().GetProperty(name);
property.SetValue(this, value , null);
}
执行失败,属性没有值(在SharpDevelop中只说"null")。字段名称正常且存在,发生了什么?
您的 属性 是否有 setter(set
访问器)。在设置 属性 like
之前最好检查一下
if(property != null && property.CanWrite)
{
property.SetValue(this, value , null);
}
顺便说一句,您要访问的是字段还是 属性?因为你说 字段的名称是正确的并且存在
我有一个 ArrayList,其中包含当前对象中的字段名称,当我尝试这样做时:
foreach(string name in array)
{
PropertyInfo property = this.GetType().GetProperty(name);
property.SetValue(this, value , null);
}
执行失败,属性没有值(在SharpDevelop中只说"null")。字段名称正常且存在,发生了什么?
您的 属性 是否有 setter(set
访问器)。在设置 属性 like
if(property != null && property.CanWrite)
{
property.SetValue(this, value , null);
}
顺便说一句,您要访问的是字段还是 属性?因为你说 字段的名称是正确的并且存在