Свойство Private Set не сохраняет свое новое значение - PullRequest
3 голосов
/ 24 июня 2019

Работаю над проблемой для тестового приложения, которое я создаю, и я не могу понять, что делать.Приложение, по сути, представляет собой анкету, которая должна передаваться между двумя разными людьми, использующими одно и то же устройство.

Однако, когда у меня есть частный установщик для CurrentQuestion, значение никогда не остается измененным при отправке в новую версию.деятельности.Он всегда сохраняет свое первоначальное значение 1 (все остальные значения остаются неизменными, хотя).Хотя при отладке я вижу значение приращения свойства на 1, оно просто не сохраняется.

Как только я удаляю приватный установщик, он разрешается сам и увеличивается как обычно, но я знаю, что этоплохая практика, поэтому я хотел бы найти правильный способ сделать это.

Любая помощь или руководство будут высоко оценены, так как я чувствую, что попробовал огромное разнообразие различных методов без удачи.

1 Ответ

2 голосов
/ 24 июня 2019

Установка auto-poroperty подобным образом предполагает, что весь доступ к этому свойству и его изменение будут осуществляться непосредственно через само свойство, в отличие от использования метода, который вы делаете для увеличения этого свойства.Исходя из того, что вы здесь делаете, я бы порекомендовал это возможное решение вашей проблемы.

Установите вспомогательное поле для свойства и увеличьте его в вашем методе NextQuestion.

private int _currentQuestion;
public int CurrentQuestion => _currentQuestion;

public void NextQuestion()
{
    _currentQuestion++;
}

...