У меня есть форма с множеством страниц настроек. Все страницы одинаковы, поэтому я предпочел бы просто создать одну форму, а затем передать имя параметра, который должен редактироваться. Как бы я это сделал? Допустим, форма называется «ConfigForm», я хочу иметь возможность вызывать ее примерно так:
new ConfigForm("event1").Show();
Просто, это вызывает ConfigForm и отправляет строку «event1». Однако, зная, что я ищу параметр «event1», как мне теперь получить доступ к этому параметру? Обычно для доступа к настройке я предполагаю, что я использовал бы что-то вроде этого: (event1 - StringCollection)
string varName = Properties.Settings.Default.passedString[3];
Как мне поместить "event1" в строку, когда event1 хранится в переменной "sentString"? В PHP я бы использовал что-то вроде EVAL. Как бы я это сделал в C #?
---- РЕДАКТИРОВАТЬ
Предыдущие ответы решили проблему «настроек»; но это не отвечает на основной вопрос. Как вы используете строку, переданную в переменной в качестве идентификатора переменной? Так что, если бы у меня была строка с именем «sentString», в которой был бы сохранен текст «event1» ... Как бы я мог преобразовать это:
this.(passedString).Text = "test";
в
this.event1.Text = "test";