【问题标题】:VB6 - Call Function from Byte ArrayVB6 - 从字节数组调用函数
【发布时间】:2013-07-05 09:30:58
【问题描述】:

在 C# 中,您可以调用,

Assembly.Load(byte[]).GetType("Class").GetMethod("method").Invoke(null, new object[] {
                    "I'm a parameter"
            });

是否有 VB6 等价物?

【问题讨论】:

  • Assembly.Load(byte[]) 不正确。
  • 您真的想要 VB6 等价物还是 VB.Net 等价物?如果是VB6,是调用COM DLL还是.Net DLL?
  • VB6 等价物。我将加载一个 ActiveX DLL。

标签: c# vb6 byte .net-assembly


【解决方案1】:

不,没有等价物。由于 .COM 没有该功能。但是如果你想用字符串调用(也用最近的[我说它不同,因为它不是来自字节数组),你可以使用

CallByName(object as Object, funcName as String, functype as vbCallType, paramArray args as any)

object 是您要调用的对象。它可以是 CreateObject() 函数的结果,funcName 是描述名称的字符串,functype 是函数的类型。它可以是子函数、get 或 set 函数。 arg 是您要传递的 arg。最后两个论点可能是错误的。所以请在 object ecplorer 上查看。 arg 可能是 paramArray 或数组。 functype 的枚举名称可能是 CallType 或其他。

【讨论】:

    【解决方案2】:
    Assembly.Load(parameter).[GetType]("Class").GetMethod("method").Invoke(Nothing, New Object() {"I'm a parameter"})
    

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多