我正在寫下面的get和set來驗證來自文本框的輸入。基本上它應該檢查用戶是否輸入了所有的值。 當我將文本框留空時,它什麼也不做,並在輸出中顯示'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;
}
}
private void Submit2_Click(object sender, RoutedEventArgs e)
{
TotalContentProduct = double.Parse(textBox7.Text);
recoDoseSize = double.Parse(textBox8.Text);
NoOfDosespUnit = TotalContentProduct/recoDoseSize;
}
我對代碼示例並不清楚。 recoDoseSize與RecoDoseSize相同,還是不相關的私有變量?你是指這個.RecoDoseSize? – dawebber 2011-04-22 18:36:22
在您描述的情況下得到0的原因是由於ParseMethod在文本框中的Text屬性的默認值上做得最好。 – dawebber 2011-04-22 18:37:37
@dawebber:由於RecoDoseSize的getter返回的是recoDoseSize,我猜它們是相關的。 ;-) – Heinzi 2011-04-22 18:37:51