我有以下 Winforms 层次结构。
Form ==> AForm ==> BForm
int? X;
并且在 中定义了一个可以为空的成员AForm
。在 中BForm
,有以下代码。
public partial class BForm : AForm, IBview
{
......
public int Y
{
get
{
int z = X ?? 0;
System.Diagnostics.Debug.WriteLine("X: " + X.ToString() + " z: " + z.ToString());
return z;
}
}
X
不应该为空。我正在尝试关闭并打开表单BForm
。它通常有效,偶尔z
为零(可能每 10 次一次)。我有一个z==0
在线的有条件休息return z
。
当击中断点时。调试写入
X: z: 0
但是,当我在中断点被击中后将X
鼠标光标悬停在 Visual Studio 中时,值既不是 null 也不是 0 。X