我想做的事情如下:
MyObject myObj = GetMyObj(); // Create and fill a new object
MyObject newObj = myObj.Clone();
Run Code Online (Sandbox Code Playgroud)
然后更改未在原始对象中反映的新对象.
我不经常需要这个功能,所以当有必要的时候,我已经使用了创建一个新对象然后单独复制每个属性,但它总是让我觉得有更好或更优雅的处理方式情况.
如何克隆或深度复制对象,以便可以修改克隆对象而不会在原始对象中反映任何更改?
在开始之前,我知道还有其他几个问题可以"回答"这个问题,但不是我能够理解的方式.这就是我所指的: C#中的深度复制
我做了一些研究,我希望有人可以向我解释如何将对象设置为另一个对象的值.
例如,让我们说:
myObject bob;
bob = new myObject();
myObject joe
joe = bob
Run Code Online (Sandbox Code Playgroud)
从我可以研究的,joe现在指向鲍勃的实例bob.这些物体是否仍然独立运作?
我如何创建两个对象,将一个对象的内容复制到另一个对象,并将它们作为两个单独的对象,其字段,方法和事件分别发生?
我很抱歉再次提出这个问题,但我似乎找不到其他地方对我有意义的解释.