Non sono sicuro quale sia il modo migliore per formularlo, ma mi chiedo se un accesso al nome variabile dinamico può essere fatto in C# (3.5).Nome variabile dinamico utilizzato in C# per WinForms
Ecco il codice che attualmente sto cercando di "rendere più smart" o rendere più elegante con un ciclo.
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];
}
C'è un modo per fare qualcosa di simile ("chkCategory" + i.ToString()). Testo?
Posso mostrare completamente la mia ignoranza sulla parte dinamica delle nuove funzionalità di C#, ma ho pensato che C# fosse un linguaggio compilato. Pertanto, per ottenere ciò, è necessario creare un'istanza del compilatore, generare il codice e quindi eseguire il codice all'interno del contesto del thread proprietario dei controlli. Non è pratico. –
Domanda generale in risposta alle risposte: Quando si utilizza il progettista WinForms, qual è il metodo migliore per gestire l'array di checkbox? – Awaken
Che tipo di riflessione è stata inventata per (Nel tuo caso speciale puoi anche accedere al controllo con il loro nome). – codymanix