我正在编写一个 VBA 应用程序,对于一个特定的功能,我只使用后期绑定,因为该应用程序的大多数用户都没有安装参考(也不会使用这个特定的功能)。
我正在使用的对象的行为如下:
class PISDK{
PIServer GetServer(string hostName)
}
该GetServer
方法返回一个PIServer
对象,但存在一个更具体的接口,实现PIServer
:
interface IGetPoints2 : PIServer{}
我想将PIServer
对象向下转换为IGetPoints2
对象。
什么都不做,我得到一个 PIServer 对象:
Dim PiSdk As Object
Dim PiServer As Object
Set PiSdk = CreateObject("PISDK.PISDK")
Set PiServer = PiSdk.GetServer("foo")
在调试器中查看PiServer
证实了这一点。
使用强类型变量应该可以,但我不想引用此处使用的任何类型。
如何仅使用后期绑定来向下转换此对象?