![]() |
1
4
您不能直接这样做(如果vs正在进行COM注册,您应该看到一个警告,如:类型库导出程序警告处理“ns.obj.get揤getprop2(1),assey”。警告:类型库导出程序在签名中遇到泛型类型实例。不能将通用代码导出到COM。 您需要做的是做一个小的非通用包装器和一个向COM公开的接口(假设您需要强类型对象)。只要引用vba中的typelib并通过强类型的vba refs访问对象,就可以执行以下操作:
有一个技巧可以让它在不引用vba中托管的typelib的情况下工作(例如,后期绑定),但我已经离开了COM interop世界太久了,记不清它是什么。 |
![]() |
2
0
我发现 this article 描述一个丑陋的黑客-通过反射呼叫一切。由于泛型值仍然作为一个对象返回,所以反射应该可以工作,但会很慢,2)容易出错,3)非常不方便调用。 如本文所示,我将使用具有以下签名的实用方法:
丑陋,但可行。 |
![]() |
melmi · 如何在C中实例化堆中的结构# 7 年前 |
![]() |
Max · 使用flatbuffers从C#序列化到本机内存缓冲区 8 年前 |
![]() |
Saurabh Agrawal · 如何在数据标签C中使用模式属性# 8 年前 |
![]() |
Nat · 如何在UWP应用程序中创建COM对象?(C#) 9 年前 |