Я хочу предоставить одному из моих классов значение или состояние по умолчанию.Мы назовем этот класс Foo
, и он будет выглядеть следующим образом:
class Foo
{
public static readonly Default = new Foo() { Bar = 42 };
public int Bar { get; set; }
}
Это говорит о том, что я хочу, чтобы значение по умолчанию для экземпляра Foo
содержало его член, Bar
установить на 42. Проблема возникает, когда я изменяю ссылку на Foo.Default
.
void Function()
{
Foo temp = Foo.Default;
temp.Bar = 101; // Foo.Default.Bar = 101
Foo anothertemp = Foo.Default; // anothertemp.Bar = 101!!
}
Как мне избежать этого поведения?