-4

如何将数据类型从 string 更改为 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");
            }

    }

我怎么解决这个问题

“字符串”不包含“已检查”的定义,并且不接受“已检查”的扩展方法

但我想工作按钮插入复选框名称

4

2 回答 2

8

改变..

public void work(string check)

... 至 ...

public void work(CheckBox check)

然后像这样调用它:

work(checkBox1);

可以使用字符串,然后通过查找控件,Form.Controls但使用 CheckBox 本身会容易得多。


要解决挑剔的@daveL,您不能将var类型作为方法参数。要使您的代码正常工作,您可以使用CheckBoxor dynamic

对于认为这是可能的世界上的@daveL,这里有一些关于隐式类型局部变量的文档。

于 2012-07-18T15:31:48.667 回答
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"); 
        } 

} 
于 2012-07-18T15:32:41.620 回答