我有一个MyObject类型的复杂objectA。我想基于特定的objectA创建此MyObject的多个变体。
public class MyObject()
{
int myAttr1;
string myAttr2;
MyChildObject1 myChildObject1;
MyChildObject2 myChildObject2;
...
}
public List<MyObject> createVariations(MyObject myObject)
{
List<MyObject> myObjectList = new List<MyObject>();
MyObject myFirstVariation = myObject;
myFirstVariation.myAttr1 = myObject.myAttr1 + 5;
myObjectList.Add(myFirstVariation);
// TODO: Do different specific variations of the same source object!
...
return myObjectList;
}
我知道这是行不通的,因为我只是创建对myObject的多个引用,并且正在更改其参数,因此列表中将有很多相同对象的引用。
如何获取具有不同配置的对象列表。我真的必须为这些对象创建一个副本构造函数吗?预先谢谢你。