zoukankan
html css js c++ java
实现深拷贝的一种方法
声明接口:
public
interface
IClone
{
T Clone
<
T
>
(T instance)
where
T :
class
;
}
建立CloneManager类实现接口:
public
class
CloneManager:IClone
{
/**/
///
<summary>
///
Clones the specified instance.
///
</summary>
///
<typeparam name="T"></typeparam>
///
<param name="instance">
The instance.
</param>
///
<returns>
A new instance of an object.
</returns>
T IClone.Clone
<
T
>
(T instance)
{
XmlSerializer serializer
=
new
XmlSerializer(
typeof
(T));
MemoryStream stream
=
new
MemoryStream();
serializer.Serialize(stream, instance);
stream.Seek(
0
, SeekOrigin.Begin);
return
serializer.Deserialize(stream)
as
T;
}
}
实际应用代码:
class
Program
{
static
void
Main(
string
[] args)
{
IClone clone
=
new
CloneManager.CloneManager();
AA ta
=
new
AA();
ta.aa
=
123
;
ta.bb
=
234
;
AA tb
=
clone.Clone
<
AA
>
(ta);
ta.aa
=
999
;
ta.bb
=
888
;
System.Console.WriteLine(ta.aa);
System.Console.WriteLine(ta.bb);
System.Console.WriteLine(tb.aa);
System.Console.WriteLine(tb.bb);
}
}
public
class
AA
{
public
int
aa
=
0
;
public
int
bb
=
0
;
}
简单吧!!
查看全文
相关阅读:
linux rz -e
(转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法
Searching the Web论文要点
搜索提示(search suggest)文献阅读
C++常用数据结构(对照python)
FM,FFM,GBDT推导
Ranking relevance in yahoo search (2016)论文阅读
荀子劝学篇
不要尝试去锯木屑
3服务器Java虚拟机配置
原文地址:https://www.cnblogs.com/adam/p/1165282.html
最新文章
LSTM股价预测
LSTM
Embedding实现4pre1
Hadoop 之 HDFS的使用
Hadoop 之 HDFS基本概念
Hadoop入门 之 Hadoop的安装
Hadoop入门 之 Hadoop常识
HTTP协议的运行流程
MongoDB安装使用
Java的垃圾回收机制
热门文章
大白话讲解 Java程序的运行机制和JVM
Maven简介
Spring入门教程
移动架构-代理模式
2014自己总结的渗透经验[转]
利用NET HUNTER建立一个自动文件下载的网络接入点
MYSQL提权总结
PHP_GET后门,躲避任何安全软件
Mof提权科普
VBS下载者助以一臂之力
Copyright © 2011-2022 走看看