Jul 24

C#类的克隆 不指定

kcao , 11:01 , 技术 , 评论(0) , 引用(0) , 阅读(2755) , Via 本站原创 | |

 类成员要复制,用“=”只是添加一个reference,要真正的复制成员,正好能用上序列化。

先把类成员都标记序列化,然后使用如下代码即可。

C# Code Copy Code To Clipboard
  1. public MyClass Clone()  
  2. {  
  3.     MemoryStream stream = new MemoryStream();  
  4.     BinaryFormatter formatter = new BinaryFormatter();  
  5.     formatter.Serialize(stream, this);  
  6.     stream.Position = 0;  
  7.     return formatter.Deserialize(stream) as MyClass;  
  8. }  

调用时如下:

C# Code Copy Code To Clipboard
  1. MyClass newClass = new MyClass();  
  2. newClass = oldClass.Clone();  

即可生成一个与oldClass完全相同的newClass.

Tags: , , , ,
发表评论
Please log on to continue. Thanks!
打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]