Dynamic Variable Name Use in C# for WinForms

前端 未结 7 1629
余生分开走
余生分开走 2021-01-13 01:28

Not sure what is the best way to word this, but I am wondering if a dynamic variable name access can be done in C# (3.5).

Here is the code I am currently looking to

7条回答
  •  庸人自扰
    2021-01-13 01:39

    You don't need dynamic for that. Put chkCategory1 - 12 in an array, and loop through it with a for loop. I would suggest you keep it around in a field and initialize it at form construction time, because chkCategory seems to be related. But if you want a simple example of how to do it in that simple method, then it would be something like this:

    private void frmFilter_Load(object sender, EventArgs e)
    {
        var chkCategories = new [] { chkCategory1, chkCategory2, chkCategory3, .......... };
        for(int i = 0 ; i < chkCategories.Length ; i++ ) 
            chkCategoies[i].Text = categories[i];
    }
    

    You know more about the application, so you could perhaps avoid writing out all the control names - for instance, if they are placed on a common parent control, then you could find them by going through it's children.

提交回复
热议问题