2011年3月17日
摘要: StreamResourceInfo sri = Application.GetResourceStream(new Uri("HowTo;component/Page.xaml", UriKind.Relative)); StreamReader sr = new StreamReader(sri.Stream); txtReadxml.Text = sr.ReadToEnd();{1};component/{2}1为程序集的名字2为想读取的页面page.xaml:<UserControl x:Class="HowTo.Page" xmlns=& 阅读全文
posted @ 2011-03-17 18:10 一粒沙 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 由于值类型和引用类型在赋值上的不同。在Clone一个对象的引用类型的成员时,一般只是简单的赋值对对象的引用。此时原有的对象和新赋值的对象会同时引用同一个成员对象。这种对象Clone的方法一般称为浅赋值或浅表复制。在大多数情况下浅赋值并不是我们希望的Clone方式。为了实现深度复制,我们就必须遍历有相互引用的对象构成的图,并需要处理其中的循环引用结构。这无疑是十分复杂的。幸好借助.Net的序列化和反序列化机制,可以十分简单的深度Clone一个对象。原理很简单,首先将对象序列化到内存流中,此时对象和对象引用的所用对象的状态都被保存到内存中。.Net的序列化机制会自动处理循环引用的情况。然后将内存流 阅读全文
posted @ 2011-03-17 09:37 一粒沙 阅读(433) 评论(0) 推荐(0) 编辑