给出以下用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)
我想知道为什么会这样。