Отображение формы от динамично загруженного DLL

Поместите конфигурационную информацию в зашифрованный файл конфигурации. Запросите эту информацию в своем коде с помощью ключа. Поместите этот ключ в отдельном файле на среду и не снабжайте его своим кодом.

11
задан Community 23 May 2017 в 12:13
поделиться

3 ответа

Вы должны что-то сделать с только что созданной формой:

Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
Form form = (Form)Activator.CreateInstance(type);
form.ShowDialog(); // Or Application.Run(form)
14
ответ дан 3 December 2019 в 06:47
поделиться

Да, вы на самом деле не указываете какой-либо код для запуска вне инициализатор класса. Например, с формами вы должны их фактически показывать.

Вы можете изменить свой код следующим образом ...

Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
Form form = Activator.CreateInstance(type) as Form;
form.ShowDialog();
3
ответ дан 3 December 2019 в 06:47
поделиться

I would go with:

Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
object obj = Activator.CreateInstance(type);
Form form = obj as Form;
if (form != null)
    form.Show(); //or ShowDilaog() whichever is needed

Other error checking/handling should be added; however at the very least I would ensure the conversion works.

0
ответ дан 3 December 2019 в 06:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: