Jul
24
类成员要复制,用“=”只是添加一个reference,要真正的复制成员,正好能用上序列化。
先把类成员都标记序列化,然后使用如下代码即可。
C# Code Copy Code To Clipboard
- public MyClass Clone()
- {
- MemoryStream stream = new MemoryStream();
- BinaryFormatter formatter = new BinaryFormatter();
- formatter.Serialize(stream, this);
- stream.Position = 0;
- return formatter.Deserialize(stream) as MyClass;
- }
调用时如下:
C# Code Copy Code To Clipboard
- MyClass newClass = new MyClass();
- newClass = oldClass.Clone();
即可生成一个与oldClass完全相同的newClass.



