请教一个转换泛型的问题
有一个类
public class User
{
private int _userId=1;
private string _loginName="admin";
private string _userName="管理员";
private string _password="123";
}
如何转换为Dictionary<string,object>,其中键/值对和类相同
------解决方案-------------------- 探讨 我的错,没说清楚 public class User { private int _userId=1; private string _loginName="admin"; private string _userName="管理员"; private string _password="123"; public int UserI……
------解决方案-------------------- 这个你可以把userid做为key,如果3楼那样的定义
如果你是把一个user对象的属性全部“序列化”到Dictionary<string,object>,那个需要用反射了
或者你就干脆点直接在user对象上使用 this[string propertyName] 定义一个索引方法直接访问
------解决方案--------------------
为User类添加一个ToDictionary方法,将自身内容转换到一个字典中。
C# code
public Dictionary<string, object> ToDictionary()
{
Dictionary<string, object> dict = new Dictionary<string, object>();
PropertyInfo[] properties = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo pi in properties)
{
string name = pi.Name;
object value = pi.GetValue(this, null);
dict.Add(name, value);
}
return dict;
}