正在为我正在构建的测试应用程序解决一个问题,但我似乎不知道该怎么做。该应用程序本质上是一份问卷,将在使用同一设备的两个不同的人之间传递。
但是,当我有一个 CurrentQuestion 的私有(private) setter 时,该值在发送到新版本的事件时永远不会保持修改状态。它始终保留其原始值 1(但所有其他值都保持修改状态)。但是在调试时,我确实看到属性值增加了 1,只是没有保留。
一旦我删除私有(private) setter ,它就会自行解析并像往常一样递增,但我知道这是不好的做法,所以我想找到正确的方法。
任何帮助或指导将不胜感激,因为我觉得我已经尝试了多种不同的方法但没有运气。
最佳答案
像这样设置自动属性假定对该属性的所有访问和修改都将直接通过该属性本身完成,而不是像您正在使用的方法来增加该属性。根据您在这里所做的事情,我会推荐这种可能的解决方案来解决您的问题。
为该属性设置一个支持字段并在您的 NextQuestion
方法中增加它。
private int _currentQuestion;
public int CurrentQuestion => _currentQuestion;
public void NextQuestion()
{
_currentQuestion++;
}
关于c# - Private Set 属性不保留其新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56739300/