如何将数据类型从字符串更改为var?
示例:
private void button1_Click(object sender, EventArgs e)
{
work("checkBox1");
}
public void work(string check)
{
string number = "1";
if (number == "1")
{
check.Checked = true;
MessageBox.Show("True");
}
else
{
check.Checked = false;
MessageBox.Show("False");
}
}
我该如何解决这个问题
'string'不包含'Checked'的定义,也没有扩展名 方法'已检查'接受
但我想使用按钮插入复选框名称
答案 0 :(得分:8)
更改..
public void work(string check)
...到......
public void work(CheckBox check)
然后这样称呼:
work(checkBox1);
你可以使用字符串,然后通过Form.Controls
找到控件,但只使用CheckBox本身会更容易。
要解决挑剔的@daveL,您不能将var
类型作为方法参数。要使代码正常工作,您可以使用CheckBox
或dynamic
。
对于认为可行的世界的@ daveL,这里有关于Implicitly Typed Local Variables的一些文档。
答案 1 :(得分:1)
最简单的方法是将实际引用传递给复选框,而不仅仅是复选框的名称。
private void button1_Click(object sender, EventArgs e)
{
work(checkBox1);
}
public void work(CheckBox check)
{
string number = "1";
if (number == "1")
{
check.Checked = true;
MessageBox.Show("True");
}
else
{
check.Checked = false;
MessageBox.Show("False");
}
}