我想做的事情如下:
MyObject myObj = GetMyObj(); // Create and fill a new object
MyObject newObj = myObj.Clone();
Run Code Online (Sandbox Code Playgroud)
然后更改未在原始对象中反映的新对象.
我不经常需要这个功能,所以当有必要的时候,我已经使用了创建一个新对象然后单独复制每个属性,但它总是让我觉得有更好或更优雅的处理方式情况.
如何克隆或深度复制对象,以便可以修改克隆对象而不会在原始对象中反映任何更改?
我想要一个真正的深拷贝.在Java中,这很容易,但是你如何在C#中做到这一点?
我正在序列化一些数据,如字段和自定义类,以创建二进制数据(字节数组).
然后我想Deserialize从二进制数据回到字段和类.
但我得到一个例外.如果这两种方法在同一个程序集中发生,那么一切正常 - 但事实并非如此.
我在一个assambly中进行序列化,并在另一个中进行反序列化.这也是令人兴奋的说法:
Unable to find assembly 'MyAssamblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
注1:我没有将字段恢复的问题,只有类导致它们.
注2:我在两个程序集中都有相同的类.