我正在尝试根据包含子例程名称的字符串变量从 Windows 窗体调用公共(public)子例程。子例程是代码模块中的一个过程,直接使用过程名称调用时可以正常工作。
VB.net 函数 CallByName 应该可以工作,但我不知道如何将模块名称指定为“Object Ref”参数。
在显示的代码中,“ReportLibrary”是一个包含公共(public)子的模块,其名称包含在字符串 strReportProcedure 中。这将导致以下错误帮助程序:
帮助说明了 ObjectRef 参数:
ObjectRef
Type: System.Object
Required. Object. A pointer to the object exposing the property or method.
我错过了什么,或者只是无法使用 CallByName 从模块调用例程?
最佳答案
CallByName由于第一个参数需要一个对象,因此不适用于 VB.Net 模块中的代码。您需要将方法移动到一个类中,然后创建该类的一个实例以使 CallByName 工作。
关于vb.net - 如何在 VB.Net CallByName 中将代码模块指定为 "Object Ref"参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273394/