No estoy seguro de cuál es la mejor manera de decir esto, pero me pregunto si se puede hacer un acceso dinámico al nombre de variable en C# (3.5).Nombre de variable dinámica Usar en C# para WinForms
Aquí está el código que estoy buscando actualmente para "mejorar" o hacer más elegante con un bucle.
private void frmFilter_Load(object sender, EventArgs e)
{
chkCategory1.Text = categories[0];
chkCategory2.Text = categories[1];
chkCategory3.Text = categories[2];
chkCategory4.Text = categories[3];
chkCategory5.Text = categories[4];
chkCategory6.Text = categories[5];
chkCategory7.Text = categories[6];
chkCategory8.Text = categories[7];
chkCategory9.Text = categories[8];
chkCategory10.Text = categories[9];
chkCategory11.Text = categories[10];
chkCategory12.Text = categories[11];
}
¿Hay una manera de hacer algo como ("chkCategory" + i.ToString()). Texto?
Es posible que demuestre completamente mi desconocimiento de la parte dinámica de las nuevas características C#, pero pensé que C# era un lenguaje compilado. Por lo tanto, para lograr esto, debería crear una instancia del compilador, generar el código y luego ejecutar el código dentro del contexto de la propiedad de los controles. No es práctico. –
Pregunta general en respuesta a las respuestas: cuando se utiliza el diseñador de WinForms, ¿cuál es el mejor método para manejar la matriz de casillas de verificación? – Awaken
Para qué se inventó el reflejo (en su caso especial, también puede acceder al control por sus nombres). – codymanix