Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 私有集属性不保留其新值_C#_.net_Xamarin_Android Intent_Xamarin.android - Fatal编程技术网

C# 私有集属性不保留其新值

C# 私有集属性不保留其新值,c#,.net,xamarin,android-intent,xamarin.android,C#,.net,Xamarin,Android Intent,Xamarin.android,正在为我正在构建的测试应用程序处理一个问题,而我似乎不知道该怎么做。该应用程序本质上是一个调查问卷,在两个使用同一设备的不同用户之间传递 然而,当我为CurrentQuestion设置了一个私有setter时,在发送到活动的新版本时,该值永远不会保持修改状态。它始终保留其原始值1(但所有其他值仍保持修改状态)。但在调试时,我确实看到属性的值增加了1,只是没有保留它 一旦我删除私有setter,它就会自行解决,并像正常情况一样递增,但我知道这是一种不好的做法,所以我想找到正确的方法来执行 任何帮助

正在为我正在构建的测试应用程序处理一个问题,而我似乎不知道该怎么做。该应用程序本质上是一个调查问卷,在两个使用同一设备的不同用户之间传递

然而,当我为CurrentQuestion设置了一个私有setter时,在发送到活动的新版本时,该值永远不会保持修改状态。它始终保留其原始值1(但所有其他值仍保持修改状态)。但在调试时,我确实看到属性的值增加了1,只是没有保留它

一旦我删除私有setter,它就会自行解决,并像正常情况一样递增,但我知道这是一种不好的做法,所以我想找到正确的方法来执行


任何帮助或指导都将不胜感激,因为我觉得我已经尝试了大量不同的方法,但运气不佳。

设置这样的自动属性假设所有对该属性的访问和修改都将直接通过属性本身完成,而不是像您这样使用方法来增加此属性。根据你在这里所做的,我建议你用这个可能的解决方法来解决你的问题

为属性设置一个支持字段,并在
NextQuestion
方法中增加该字段

private int\u currentQuestion;
public int CurrentQuestion=>\u CurrentQuestion;
public void NextQuestion()
{
_当前问题++;
}

似乎它应该能工作。如果将它们分开放置会发生什么。将“myquick.NextQuestion();”移动到OnCreate的顶部,并将“Question Question=repository.GetQuestionById(myquick.CurrentQuestion);”移动到OnCreate的底部。可能在计算完成之前传递了值?我以前就想到过,但是在OnCreate中移动它们做不同的事情似乎对情况没有任何帮助。你能发布一个基本的演示,以便我们可以用它进行测试吗?不幸的是,这没有什么区别,仍然返回到原始值。很奇怪,但是
public int CurrentQuestion{get;set;}
对您来说可以吗?