得到并设置不工作

Man*_*ble 0 c# validation wpf get set

我正在编写以下get和set来验证来自文本框的输入.基本上它应该检查用户是否输入了所有值.当我将TextBoxes留空时,它什么都不做,并在输出中显示一个'0',其中使用了该变量.但它确实表明,该系统产生的异常并停止执行,但我不知道为什么没有通过验证的属性输入?

这是我的代码:

public double RecoDoseSize
{
    get
    {
        return recoDoseSize;
    }
    set
    {
        if (!(value>0))
        {
            MessageBox.Show("Please Enter the recommended dose size for this product");
            textBox8.Focus();
        }
        recoDoseSize = value;
    }
}
Run Code Online (Sandbox Code Playgroud)
private void Submit2_Click(object sender, RoutedEventArgs e)
{
    TotalContentProduct = double.Parse(textBox7.Text);
    recoDoseSize = double.Parse(textBox8.Text);
    NoOfDosespUnit = TotalContentProduct/recoDoseSize;
}
Run Code Online (Sandbox Code Playgroud)

Hei*_*nzi 6

您正在设置recoDoseSize支持字段,而不是RecoDoseSize具有代码的属性.因此,您的代码不会被执行.您需要将方法体的第二行更改为

RecoDoseSize = double.Parse(textBox8.Text);
Run Code Online (Sandbox Code Playgroud)

(注意首都R).

  • 另一个例子,为什么不同的属性和字段不一样是一个坏主意. (2认同)