我的任务是编写一个VB.NET库来与一段VB6应用程序交互。此VB6应用程序提供了一些非托管COM DLL。我创建了互操作类型(通过使用tlbimp),并将它们作为引用添加到我的VB.NET项目中。嗯,还有一个旧的VB6项目(库),它也引用了(本机) COM DLL,我们称它们为COM1.dll、COM2.dll和COM3.dll。这个老项目有一个名为claMod的“类模块”,它执行以下操作:
刚刚回答了一个关于使用括号调用VB6方法的问题,我记得您可以强制传递ByRef参数值为ByVal。经过研究,我发现这在VB.NET中仍然有效。
但是,我在C#中找不到允许这样做的任何类似内容。在过去的一年里,我不得不引用了许多VB.NET类库,这些类库没有什么好的理由使用ByRef (相信我,我查过了)。这迫使我将对象的属性设置为局部变量,以便传递它们。SomeVb6BusinessLogicMethod(ref t