Если Question
является class
(не struct
), вы можете присвоить его локальной переменной и отредактировать это:
Question q = itemView.Question;
q.AnswersJSON = itemView.Answer.ToJSONString();
q.Modified = DateTime.Now;
q.ModifiedBy = User.Identity.Name
Вам даже не придется присваивать q
обратно itemView.Question
.
Это потому, что классы в C # ссылочные типы . Если вы назначите экземпляр ссылочного типа локальной переменной или передадите его функции, изменения этого экземпляра будут отражаться везде, где есть ссылка на тот же экземпляр.
Редактировать
Обратите внимание, что ситуация может быть немного мутной, если Question
является свойством itemView
, а не полем. В зависимости от того, как это реализовано, вам может потребоваться присвоить q
обратно Question
. В таком случае этот код все еще очень предпочтителен, чтобы не вызывать метод getter свойства Question
повторно.