我有3个文本框,从a_box
到c_box
。
我正在尝试编写一种方法,允许我检查每个文本框中的double。目前,我必须使用3种单独的方法,每种方法都适合各自的文本框(见下文)。
public void CheckA() {
if(Double.TryParse(a_box.Text, out a)) {
return a;
} else {
logbox.AppendText ("Box A does not contain a double\r\n");
a_box.Text = ("NO DOUBLE FOUND")
a = double.NaN;
return a;
}
}
在理想的世界中,我可以用文本框的名称替换,只需要一个能够处理所有文本框的方法副本。为了给你一些背景,我想它会是这样的..
String aa = ("a");
String bb = ("b");
String cc = ("c");
Double a = CheckAll(aa);
Double b = CheckAll(bb);
Double c = CheckAll(cc);
public double CheckAll(string name) {
Double value;
String textbox = name + "_box";
if (Double.TryParse(textbox, out value) {
return value;
} else {
logbox.AppendText ("Box " + name + " does not contain a double");
textbox.Text = ("NO DOUBLE FOUND");
value = double.NaN
return value;
}
}
如果有人能够告诉我代码实际上应该是什么样子我真的很想知道,如果我来修改过程,如果未来或者我需要增加另一层复杂性,它将对我有很大帮助以后。
答案 0 :(得分:1)
那么,为什么不简单地将 TextBox 传递给方法?
private double CheckTextBox(TextBox textBox)
{
Double value;
if (Double.TryParse(textBox.Text, out value))
{
return value;
}
else
{
logbox.AppendText(string.Format("Box {0} does not contain a double", textBox.Name));
textBox.Text = ("NO DOUBLE FOUND");
value = double.NaN;
return value;
}
}