当前位置: 首页 > news >正文

镇江网站建设工程重庆网架加工厂

镇江网站建设工程,重庆网架加工厂,信阳电子商务平台网站建设,做网站广告有哪些职位咨询区 NakedBrunch#xff1a;我的项目中有一个对象copy的需求#xff0c;比如下面这段代码#xff1a;MyObject myObj GetMyObj(); // Create and fill a new object MyObject newObj myObj.Clone();这段代码有一点问题#xff0c;那就是对 newobj 进行的任何修改都会作… 咨询区 NakedBrunch我的项目中有一个对象copy的需求比如下面这段代码 MyObject myObj  GetMyObj(); // Create and fill a new object MyObject newObj  myObj.Clone();这段代码有一点问题那就是对 newobj 进行的任何修改都会作用到 myobj 上我不想这样我想实现那种深copy我目前的做法是重新new一个对象然后逐一将老对象的属性赋值给新对象虽然是可以实现但我觉得应该有更简单方便的做法回答区 Michael Cox如果你不介意使用第三方工具可以参考下  ValueInjecter 和 AutoMapper它可以完美的实现你的需求,参考如下代码 MyObject oldObj; // The existing object to cloneMyObject newObj  new MyObject();newObj.InjectFrom(oldObj); // Using ValueInjecter syntax用这些第三方工具你就不需要像传统那样copy了也避免了 model 需实现 ISerializable 或 ICloneable  接口的尴尬其实这是 MVC/MVVM 开发模式下的 DTO 通用做法。johnc你可以使用 JSON.NET 去实现它可以非常轻量级的实现不需要让你的类打上[Serializable]标记参考如下代码 public static T CloneJsonT(this T source) {            // Dont serialize a null object, simply return the default for that objectif (ReferenceEquals(source, null)) return default;var deserializeSettings  new JsonSerializerSettings {ObjectCreationHandling  ObjectCreationHandling.Replace};return JsonConvert.DeserializeObjectT(JsonConvert.SerializeObject(source), deserializeSettings); }Michael White我也碰到了这种问题我觉得序列化是一条路这里我把它序列化为xml参考如下 static public class SerializeHelper {public static T DeserializeXMLT(string xmlData) where T:new(){if (string.IsNullOrEmpty(xmlData))return default(T);TextReader tr  new StringReader(xmlData);T DocItms  new T();XmlSerializer xms  new XmlSerializer(DocItms.GetType());DocItms  (T)xms.Deserialize(tr);return DocItms  null ? default(T) : DocItms;}public static string SeralizeObjectToXMLT(T xmlObject){StringBuilder sbTR  new StringBuilder();XmlSerializer xmsTR  new XmlSerializer(xmlObject.GetType());XmlWriterSettings xwsTR  new XmlWriterSettings();XmlWriter xmwTR  XmlWriter.Create(sbTR, xwsTR);xmsTR.Serialize(xmwTR,xmlObject);return sbTR.ToString();}public static T CloneObjectT(T objClone) where T:new(){string GetString  SerializeHelper.SeralizeObjectToXMLT(objClone);return SerializeHelper.DeserializeXMLT(GetString);} }点评区 相信深copy在各位项目开发中是必然会遇到的问题我在很长一段时间内都是使用 JSON.NET 去实现就像 johnc 大佬提供的代码一样简单粗暴同时三位大佬都提供了相应方法这里学习了
http://www.pierceye.com/news/966411/

相关文章:

  • 如何申请网站备案如何选择邯郸做网站
  • 专注做一家男生最爱的网站北京旅游设计网站建设
  • c 做网站凡科网站免费版怎么做
  • 门户网站开发多少钱wordpress主题文章页面不显示
  • 网站建设丶金手指下拉13个人网站有什么用
  • 企业网站建设解决方案wordpress搜索不了中文linux
  • 怎样在网站上做有效的广告投放手机网站公司哪家好
  • 四川德行天下建设工程有限公司网站ie兼容所有网站
  • 网站seo诊断免费php源码网
  • 微信公众号商城网站开发湖南省新闻最新消息十条
  • 如何做网站家具导购做哈尔滨本地门户网站赚钱吗
  • 建立网站的步骤有哪些wordpress 主题
  • 网站功能建设中页面个体户做网站有用吗
  • 网站建设具体要求wordpress启用注册
  • 重庆好的网站建设公司车辆管理网站开发
  • 十大SEO网站外链建设误区城乡住房建设部网站保证金
  • 自己做一元夺宝网站dede 管理多个网站
  • 做app还是做微网站好聚美网站开发开题报告
  • 网站建设总结与科技网站建设+长沙
  • 网博士自助建站系统手机wap网站程序
  • 做网站有什么不好竞价广告
  • 个人网站 cms企业做网站的好处有哪些
  • 公司做网站的费用入账国内电商平台网站制作排行榜
  • 做网站电脑开一天用多少钱怎么做网页动图
  • 织梦做网站教程网站风格要求
  • 网站制作用什么编程百度贴吧网页版登录
  • 站长之家ip查询雄安哪里在建设
  • wdcp创建网站网站开发如何找甲方
  • 做网站运营用什么软件高校支付网站建设费需要入无形资产
  • 在那个网站做ppt可以赚钱网页代码怎么看