假设我有一个匿名的类实例

var foo = new { A = 1, B = 2};

有没有一种快速的方法来生成NameValueCollection?我想获得与以下代码相同的结果,而无需事先了解匿名类型的属性。
NameValueCollection formFields = new NameValueCollection();
formFields["A"] = 1;
formFields["B"] = 2;

最佳答案

var foo = new { A = 1, B = 2 };

NameValueCollection formFields = new NameValueCollection();

foo.GetType().GetProperties()
    .ToList()
    .ForEach(pi => formFields.Add(pi.Name, pi.GetValue(foo, null).ToString()));

关于c# - 如何将匿名类型的实例转换为NameValueCollection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2838398/

10-10 14:05