我有一个问题。如何将IDictionary<string, object>
转换为类?以及创建用户帐户。
WebSecurity.CreateUserAndAccount(UserName, Password, new { eny = 0 , eny2 = "sas"});
我有
void Create(String name, IDictionary<string, object> values)) {...}
和班级
class test {
String name,
int eny,
int eny2
}
我希望对字典中的数据进行对象测试。
答案 0 :(得分:29)
我会猜测
Dictionary<string, object> values = new Dictionary<string, object>()
{
{"Name","Joe"},{"Id",123}
};
var test = GetObject<TestClass>(values);
class TestClass
{
public string Name { get; set; }
public int Id { get; set; }
}
T GetObject<T>(Dictionary<string,object> dict)
{
Type type = typeof(T);
var obj = Activator.CreateInstance(type);
foreach (var kv in dict)
{
type.GetProperty(kv.Key).SetValue(obj, kv.Value);
}
return (T)obj;
}