相关疑难解决方法(0)

无法获取PropertyInfo.SetValue()来设置我的对象上的值

我已将下面的代码简化为一个基本示例,但我仍然无法获得设置的值.执行propertyInfo.SetValue()时,它将在我的Contact对象的setter上命中一个断点,并在'setter'中正确设置该值.但是,在执行SetValue()之后,projectContact.Contact对象上的字符串属性尚未更改为"a".知道我在这里做错了什么吗?

IEnumerable<ProjectContact> contacts = GetContactsByProject(projectId);

        foreach (ProjectContact projectContact in contacts)
        {
            foreach (PropertyInfo propertyInfo in projectContact.Contact.GetType().GetProperties())
            {
                if (propertyInfo.PropertyType == typeof(string))
                {
                    propertyInfo.SetValue(projectContact.Contact, "a", null);
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# reflection foreach properties

2
推荐指数
1
解决办法
4123
查看次数

标签 统计

c# ×1

foreach ×1

properties ×1

reflection ×1