C # Автоматическая глубокая копия структуры
У меня есть структура,MyStruct
, который имеет частного членаprivate bool[] boolArray;
и методChangeBoolValue(int index, bool Value)
.
У меня есть класс,MyClass
, что имеет полеpublic MyStruct bools { get; private set; }
Когда я создаю новый объект MyStruct из существующего, а затем применяю метод ChangeBoolValue (), массив bool в обоих объектах изменяется, потому что ссылка, а не то, на что ссылались, была скопирована в новый объект. Например:
MyStruct A = new MyStruct();
MyStruct B = A; //Copy of A made
B.ChangeBoolValue(0,true);
//Now A.BoolArr[0] == B.BoolArr[0] == true
Есть ли способ заставить копию реализовать более глубокую копию, или есть способ реализовать это, у которого не будет той же проблемы?
Я специально сделал MyStruct структурой, потому что это был тип значения, и я не хотел, чтобы ссылки распространялись.