Как добавить в список копию объекта?
Моя проблема заключается в том, что если добавить объект в список, а затем изменить объект в списке изменится и старый объект, т.е. он работает как ссылка. На данный момент мой код работает, но мне приходится передавать все значения старого объекта новому и добавлять этот новый объект.
Stat newStat = new Stat();
//передаю все значения объекта
newStat.factor = oldStat.factor;
newStat.maxValue = oldStat.maxValue;
newStat.minValue = oldStat.minValue;
newStat.modifiers = oldStat.modifiers;
newStat.statType = oldStat.statType;
newStat.value = oldStat.value;
stats.Add(newStat);
Можно передать быстрее через конструктор, но когда переменных в классе становится больше, это становится неудобно, к тому же не рекомендуется делать больше 2-3 параметров. Есть ли более правильный и простой способ?