gpt4 book ai didi

c# - 从 NameValueCollection 设置类的属性

转载 作者:太空狗 更新时间:2023-10-30 00:57:24 27 4
gpt4 key购买 nike

我在一页上加密我的整个查询字符串,然后在另一页上解密。我正在使用 HttpUtility.ParseQueryString 获取所有值的 NameValueCollection。

现在,我有一个类,其属性与查询字符串变量名相匹配。我正在努力如何从查询字符串中设置属性的值。

这是我的代码:

        NameValueCollection col = HttpUtility.ParseQueryString(decodedString);
ConfirmationPage cp = new ConfirmationPage();

for(int i = 0; i < col.Count; i++)
{
Type type = typeof(ConfirmationPage);
FieldInfo fi = type.GetField(col.GetKey(i));

}

我看到了通过反射检索值的示例 - 但我想获得对 ConfirmationPage 类的属性的引用,并在循环中使用它的值设置它 - col.Get(i)。

最佳答案

我可能会走另一条路并找到属性(或使用 GetFields() 的字段)并在查询参数中查找它们而不是遍历查询参数。然后,您可以在 PropertyInfo 对象上使用 SetValue 方法来设置 ConfirmationPage 上的属性值。

var col = HttpUtility.ParseQueryString(decodedString);
var cp = new ConfirmationPage();

foreach (var prop in typeof(ConfirmationPage).GetProperties())
{
var queryParam = col[prop.Name];
if (queryParam != null)
{
prop.SetValue(cp,queryParam,null);
}
}

关于c# - 从 NameValueCollection 设置类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5303762/

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