gpt4 book ai didi

c# - 反射返回对象中的 SetValue 与目标类型不匹配

转载 作者:太空宇宙 更新时间:2023-11-03 20:06:12 24 4
gpt4 key购买 nike

我正在遍历一个具有多个属性的类,并正在搜索任何具有相同 ID 的文本框。如果匹配,那么我想将属性值更新为文本框值的值,但出现此错误:

Object does not match target type

这是代码:

foreach (var prop in contactInfo.GetType().GetProperties())                    
{
var ctrl = WizardCampaign.FindControl(prop.Name) ?? Page.Master.FindControl(prop.Name);

if (ctrl != null)
{
if (ctrl.GetType() == typeof(TextBox))
{
var r = (TextBox)ctrl;
prop.SetValue(prop, r.Text, null);
}
}
}

最佳答案

看这里:

prop.SetValue(prop, r.Text, null);

SetValue 应该将您要更改的对象作为第一个参数,但您传递的是 PropertyInfo 对象。我相信您的实际代码应该是:

prop.SetValue(contactInfo, r.Text, null); 

关于c# - 反射返回对象中的 SetValue 与目标类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com