属性名称相同的类,进行相互转换的函数
来源:互联网 发布:淘宝大学vip报名有用吗 编辑:程序博客网 时间:2024/06/06 16:55
public T ClassConvert<T>(object o)
where T:new()
{
T t = new T();
Type type = o.GetType();
System.Reflection.PropertyInfo[] ps = type.GetProperties();
foreach (PropertyInfo p in ps)
{
object pv = p.GetValue(o,null);
Type type2 = t.GetType();
PropertyInfo pr = type2.GetProperty(p.Name);
if(pr!=null)
{
pr.SetValue(t, pv, null);
}
}
return t;
}
对于复杂类,可以先序列后,改个类名,再反序列化来进行maping
cy b = new cy();
b.currency_ID = "33";
b.currency_name = "44";
b.currency_name_en = "55";
b.rrrr = "ttt";
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
XmlSerializer xs = new XmlSerializer(typeof(cy));
xs.Serialize(sw, b);
sw.Close();
string aaa = sb.ToString();
aaa=aaa.Replace("<cy ","<cc ").Replace("</cy>","</cc>");
xs = new XmlSerializer(typeof(cc));
StringReader sr = new StringReader(aaa);
cc ddd = (cc)xs.Deserialize(sr);
- 属性名称相同的类,进行相互转换的函数
- 类的两个属性具有相同名称
- 相同属性的Bean相互赋值
- 调用相同名称的基函数!
- JAXB "有两个名为 "**" 的属性,类的两个属性具有相同名称 "**""解决方案
- JAXB "有两个名为 "**" 的属性,类的两个属性具有相同名称 "**""解决方案
- 具有相同的名称
- C#,两个接口相同名称函数调用时的区分
- Gson 同一属性,属性名不相同的转换
- 实体类相同属性之间相互赋值
- C++子类 父类的相互转换 和 虚函数
- void*和类成员函数指针的相互转换
- void*和类成员函数指针的相互转换
- GUID和字符串相互转换的函数
- UTF8 ANSI 相互转换的函数
- 字符串与数值相互转换的函数
- 字符串与数值相互转换的函数
- UTF8 ANSI 相互转换的函数
- JavaScript中的方法重载
- Android下ContentProvider 学习总结
- Php 分页类
- 戴尔将在中国推出预装Ubuntu系统电脑
- PHPDocumentor安装与使用(转)
- 属性名称相同的类,进行相互转换的函数
- WinCE6.0 启动后自动运行应用程序
- 异步编程
- SetCursor
- INI文件操作
- 腾讯CEO马化腾:做强互联网要先克隆后超越
- oracle 存储过程 函数 创建 删除 参数 传递 函数 查看 包 系统包
- 服务器模型(-)
- 十六进制转换成字符串——CRC