我有两个响应和请求的类。我正在从web获取属性以响应请求中的下一步。例如
private List<ControlInfo> _firmcontrolInfo;
public List<ControlInfo> FirmControlInfo
{
get
{
return _firmcontrolInfo;
}
set
{
SetProperty<List<ControlInfo>>(ref _firmcontrolInfo, value, "FirmControlInfo");
}
}
public class ControlInfo : BaseCommonModel<string>
{
[JsonProperty]
public string ControlName { get; set; }
[JsonProperty]
public int ControlLength { get; set; }
}
我正在使用它来填充请求,但它是静态的。我必须找到一种动态的方法来从FirmControlInfo的ControlNames(字符串)中获取请求的属性。这是我的静态代码;
if (FirmControlInfo[0].ControlName.Equals("ABNO1"))
request.ABNO1 = AbNoSub;
else if (FirmControlInfo[0].ControlName.Equals("ABNO"))
request.ABNO = AbNoSub;
if (FirmControlInfo[1].ControlName.Equals("ABNO2"))
request.ABNO2 = AbNoRegi;
else if (FirmControlInfo[1].ControlName.Equals("SICNO"))
request.SICNO = AbNoRegi;
我希望,我描述我想要的东西。 我该怎么做?
感谢。
答案 0 :(得分:0)
我已经在Portable Class中解决了这段代码的问题;
foreach (var item in FirmControlInfo)
{
var propInfo = System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties(typeof(RequestViewModel1)).Where(pi => pi.Name == item.ControlName).First();
propInfo.SetValue(request, AbNoSub);
}
感谢。