我们可以将事件处理程序动态添加到某个类而无需创建对象实例吗?动态事件无需创建实例
我的情况
从主要形式[0级]我打电话子表单[1级],这些子表单我能够从主窗体中添加动态事件。但是从子表单我再次调用表单[级别2]。我无法从这个级别添加动态事件[级别2]。我不知道表单何时从第1级接到电话,它必须是按钮点击事件或任何其他事件。
下面的代码不起作用,因为在这里需要一个实例FRM是一个实例
Dim frmLoad = New FormLoadEventHandler(AddressOf On_Load)
t.GetEvent("Load").AddEventHandler(frm, frmLoad)
我加载各个组件到一个单一的平台,让每一个人装配有这么多子的形式,从我的主我可以通过反射访问初始表单。我的想法是使所有形式的字体都与我的平台相同
我可能失去了一些东西,但是这并没有任何意义,我......没有实例一个表格,不会引发任何事件。你的意思是没有_reference_一个实例吗?如果是这样,那么答案是否定的 - 但它的解决方法很简单 - 只需将相关参考通过代码传递到需要的地方(将'l2frm'传递给'l0frm'或反之亦然) – Basic
我将单个程序集加载到单一的平台,所以每个单独的程序集都有来自我的主模块的许多子表单,我可以通过反射访问初始表单。我的想法是在我的平台上调用所有形式的字体相同 –
这听起来不像一个干净的架构。 “单一平台”是什么意思?单个AppDomain /进程/ ???如果你有组装的控制权,你不应该需要反思(99%的时间)。如果您没有控制权,更改字体可能会导致问题(文本溢出时会发生什么情况?)。只有当您处理未知类型时,反射才有用 - 您的类型未知的原因是否存在? – Basic