vb.net - 如何在 VB.Net CallByName 中将代码模块指定为 "Object Ref"参数?

标签 vb.net

我正在尝试根据包含子例程名称的字符串变量从 Windows 窗体调用公共(public)子例程。子例程是代码模块中的一个过程,直接使用过程名称调用时可以正常工作。

VB.net 函数 CallByName 应该可以工作,但我不知道如何将模块名称指定为“Object Ref”参数。

enter image description here

在显示的代码中,“ReportLibrary”是一个包含公共(public)子的模块,其名称包含在字符串 strReportProcedure 中。这将导致以下错误帮助程序:

enter image description here

帮助说明了 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/

相关文章:

c# - 是否可以为 Visual Studio 2010 编写 Debugger Visualizer 来显示 64 位 .NET 程序?

Asp.net css 阻止 div 扩展页面高度

vb.net - 为什么按下关闭按钮时从 MessageBox.Show 返回的不是 "DialogResult.Cancel"?

vb.net - VB为什么说文件正在使用

mysql - 将图像存储到数据库 blob;从数据库检索到 Picturebox

asp.net - 将 aspx 页面转换为 html 时出错(itextsharp 5.0.6)

c# - 整数溢出 - 将 C# 转换为 VB.Net 代码

VB.NET 强制继承多代

c# - 设计时教程

vb.net - ReportViewer 多个报告参数