ASP经典-在COM可见的Assembly对象上调用VarType()返回vbString

时间:2019-05-16 16:45:04

标签: .net asp-classic com-interop

给出以下用VB.NET编写的示例(取自my previous question):

  • COM-Visible类:

    Public Class Processer Implements IProcesser
        Public Sub processAThing(ByVal param As String) _
            Implements IProcesser.processAThing
            ' [...]
        End Sub
    End Class
    
  • COM互操作性接口:

    Imports System.Runtime.InteropServices
    Imports System.ComponentModel
    
    <InterfaceType(ComInterfaceType.InterfaceIsDual)> _
    Public Interface IProcesser
    Sub processAThing(ByVal param As String)
    End Interface
    

我试图在此类的实例上呼叫 VarType()

Response.Write(CreateObject("ProcessLib.Processer"))

我得到了8,现在是vbString。在本机ActiveX对象上调用VarType()可获得预期的结果:

Response.Write(CreateObject("ADODB.RecordSet")) '  = vbObject (9)

我想知道为什么会这样。

0 个答案:

没有答案