我有一个带有接口类和表单的dll。
public class Main : M.ModuleInterface
{
void M.ModuleInterface.showForm()
{
Form1 frm = new Form1();
frm.ShowDialog();
}
List<byte> M.ModuleInterface.ReadAll()
{
List<byte> buffer = new List<byte>();
return buffer;
}
}
问题是我有一个文本框,我想从dll的表单中读取值,并能够从ReadAll()方法访问/传递它,并尽可能从接口类设置访问控制。我怎么能做到这一点?我在Form1.cs上使用公共静态成员创建了公共静态类,但我无法使用frm.MyStaticClass访问它。谢谢!
答案 0 :(得分:1)
您没有为个人答案提供足够的信息。但这是我如何从dll访问表单。假设我们有一个包含dll文件的类,如下所示:
namespace smth
{
public partial class mytest : Form
{
public TextBox txt;
public mytest()
{
InitializeComponent();
}
}
}
然后我们将表单加载到我们的项目中:
Assembly assembly = Assembly.LoadFile("C:\\mydllfile.dll");
Type type = assembly.GetType("smth.mytest");
Form form = (Form)Activator.CreateInstance(type);
现在您可以访问form.txt。 希望这会有所帮助。