0

我有一个具有接口类和表单的 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 访问它。谢谢!

4

1 回答 1

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。希望这可以帮助。

于 2013-09-06T15:50:31.633 回答