возможно ли создавать экземпляры класса программно?C# создание экземпляров классов программно
, например, мне нужно будет создать в любом из 10-20 форм программно
так что я буду делать:
Form graphs = new Form1(dateStart.Value.ToShortDateString(), dateEnd.Value.ToShortDateString(),cbQCValues.Text,cbAnalytes.Text,cbInstruments.Text);
однако конструкторы будут каждый раз разный, поэтому мне нужно поставить это в петле цикла
поэтому мне нужно будет запустить приведенный выше код, сколько раз мне нужно. например, 10-20 раз. Мне нужно будет иметь формы классов graphs1, graphs2, graph33 ...
это возможно?
Вы можете использовать отражение. См. Раздел Activator.CreateInstance. Но если вы действительно хотите, это еще один вопрос. Похоже, что ваша конкретная проблема является симптомом архитектурной проблемы. http://msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx – CodesInChaos
Вы просто пытаетесь избежать требуемой типизации или есть еще одна общая проблема, которую вы пытаетесь решить? Являются ли эти классы неизвестными во время компиляции? – Mark
Вы хотите создать много форм и каждый раз вызывать разные конструкторы? Используйте for-loop и if-else. Я не вижу проблемы. – Qwertie