Доброго дня, знатоки!
Потратил немало времени на поиск ответа, но таки не нашёл решения. Очень прошу помочь вас!
Ситуация следующая:
Есть Dll, В ней форма
namespace ClassLibrary1
{
public partial class Form1 : Form
{
public const int _Id = 6;
public const string field1 = "1";
public const string field2 = "2";
public const string field3 = "3";
public Form1()
{
InitializeComponent();
label1.Text = _Id.ToString() + field1 + field2 + field3;
}
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(field1 + field2 + field3);
}
}
}
Есть второй проект: простая форма с кнопкой. По клику на которую:
private void button1_Click(object sender, EventArgs e)
{
Assembly testAssembly = Assembly.LoadFrom("ClassLibrary1.dll");
Type curType = null;
foreach (Type type in testAssembly.GetTypes())
{
if (type.IsClass)
{
curType = type;
}
}
Form form = (Form)Activator.CreateInstance(curType);
form.ShowDialog(); // Or Application.Run(form)
}
Как я могу получить доступ к полям filed1..3 класса Form1?
Как при создании Form1 в неё передать, например, строку подключения?
Суть в том, что Dllки будут подключаться по ходу выполнения программы, т.е. заранее я не могу добавить референс на неё. Само собой у всех Dll имена параметров и методов будут одинаковые.
Приветствуется указания "тегов" чего гуглить и учить.