C#string to var数据类型

时间:2012-07-18 15:30:13

标签: c# 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");
            }

    }

我该如何解决这个问题

  

'string'不包含'Checked'的定义,也没有扩展名   方法'已检查'接受

但我想使用按钮插入复选框名称

2 个答案:

答案 0 :(得分:8)

更改..

public void work(string check)

...到......

public void work(CheckBox check)

然后这样称呼:

work(checkBox1);

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


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

对于认为可行的世界的@ 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"); 
        } 

}