将.NET ArrayList封送至VB6 [Com interop]

埃夫·康拉德

我有一个相对简单的C#类,想将其编组到VB项目中。看起来像这样(我简化了这篇文章):

[Guid("AAAAAAAA-AAAA-AAAA-AAAA-123456789ABC", ClassInterface(ClassInterfaceType.AutoDual), ComVisible(true)]
[ProgId("MyBiz.MyResponse")
[Serializable]

public class MyResponse
{
    public bool Success { get; set; }
    public int ID{ get; set; }
    public string Location{ get; set; }

    public ArrayList Messages { get; set; }
}

邮件包含0个或多个字符串。我对此进行编译,并创建一个供VB6使用的类型库。就从简单类型传递数据而言,一切工作都很好,但是Messages变量虽然VB运行时将其识别为ArrayList,但即使在应该的情况下也不包含任何数据。就封送数据而言,我缺少什么?我知道泛型不编组,但我相信ArrayList可以。我是否缺少属性,还是其他?

无需提供替代解决方案,因为我想问这个问题是因为我想知道如何做,而不是因为我没有替代方案,如果我可以解决这个问题。谢谢!

麦克风

一种解决方法是使用COM SafeArray将数据从.NET来回传递到COM。与使用ArrayList相比,我对这种技术的运气更好。您的消息的声明可能类似于:

[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_BSTR)]
public string[] Messages

这将在VB6或类似的COM客户端中显示为

Public Messages() as String

一个COM安全字符串数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将.NET ArrayList封送至VB6 [Com interop]

来自分类Dev

C#Com Interop类方法在VB6中不可见?

来自分类Dev

通过COM Interop向VB6应用程序公开集合

来自分类Dev

将.NET对象从VB6传递到.NET的问题

来自分类Dev

.NET COM Interop->全局异常处理程序

来自分类Dev

添加.NET EXE作为COM Interop的VBA参考(在Excel中)

来自分类Dev

可以将SuppressUnmanagedCodeSecurityAttribute应用于COM Interop接口吗?

来自分类Dev

无法将类型为“ microsoft.Office.Interop.Excel.ApplicationClass”的COM对象转换为“ microsoft.Office.Interop.Excel.Application”

来自分类Dev

从ShowDialog表单引发的事件是否不会一直通过com interop引发到调用vb6应用程序?

来自分类Dev

将vb6代码转换为vb.net?

来自分类Dev

将vb6迁移到vb.net do,而退出do

来自分类Dev

将数组列表从vb6传递到vb.net对象

来自分类Dev

将Excel数据导入和导出到vb.net时出错,“未定义Microsoft.Office.Interop.Excel.Application”

来自分类Dev

将Excel数据导入和导出到vb.net时出错,“未定义Microsoft.Office.Interop.Excel.Application”

来自分类Dev

强制VB6编译器在调用.net com dll时使用早期绑定

来自分类Dev

c#.net COM dll中断了对vb6应用程序的引用

来自分类Dev

如何将DLL函数调用/ DllImport从vb6转换为C#.NET

来自分类Dev

将VB6 Scripting.Dictionary转换为.NET通用词典

来自分类Dev

将NULL从VB6窗口传递到.NET可为空的Int32

来自分类Dev

无法将COM对象转换为Microsoft.Vbe.Interop.VBE

来自分类Dev

.NET MS Interop Word无法将文档保存在UTF8网页中

来自分类Dev

将.Net Framework从3.5更改为4.5时,WPF Interop Control呈现黑色

来自分类Dev

Interop COM(-isch)接口封送处理在简单调用时导致AccessViotlationException

来自分类Dev

Interop COM(-isch)接口封送处理在简单调用时导致AccessViotlationException

来自分类Dev

自定义用户控件将空引用VB6抛出到VB.NET迁移

来自分类Dev

自定义用户控件将空引用VB6抛出到VB.NET迁移

来自分类Dev

无法将类型为“ System .__ ComObject”的COM对象转换为接口类型为“ Microsoft.Office.Interop.Excel.Worksheets”

来自分类Dev

什么是Delphi上的vb.NET“ Interop用户控件”的等效项?

来自分类Dev

在ASP.net MVC6网站上使用Office Interop

Related 相关文章

  1. 1

    将.NET ArrayList封送至VB6 [Com interop]

  2. 2

    C#Com Interop类方法在VB6中不可见?

  3. 3

    通过COM Interop向VB6应用程序公开集合

  4. 4

    将.NET对象从VB6传递到.NET的问题

  5. 5

    .NET COM Interop->全局异常处理程序

  6. 6

    添加.NET EXE作为COM Interop的VBA参考(在Excel中)

  7. 7

    可以将SuppressUnmanagedCodeSecurityAttribute应用于COM Interop接口吗?

  8. 8

    无法将类型为“ microsoft.Office.Interop.Excel.ApplicationClass”的COM对象转换为“ microsoft.Office.Interop.Excel.Application”

  9. 9

    从ShowDialog表单引发的事件是否不会一直通过com interop引发到调用vb6应用程序?

  10. 10

    将vb6代码转换为vb.net?

  11. 11

    将vb6迁移到vb.net do,而退出do

  12. 12

    将数组列表从vb6传递到vb.net对象

  13. 13

    将Excel数据导入和导出到vb.net时出错,“未定义Microsoft.Office.Interop.Excel.Application”

  14. 14

    将Excel数据导入和导出到vb.net时出错,“未定义Microsoft.Office.Interop.Excel.Application”

  15. 15

    强制VB6编译器在调用.net com dll时使用早期绑定

  16. 16

    c#.net COM dll中断了对vb6应用程序的引用

  17. 17

    如何将DLL函数调用/ DllImport从vb6转换为C#.NET

  18. 18

    将VB6 Scripting.Dictionary转换为.NET通用词典

  19. 19

    将NULL从VB6窗口传递到.NET可为空的Int32

  20. 20

    无法将COM对象转换为Microsoft.Vbe.Interop.VBE

  21. 21

    .NET MS Interop Word无法将文档保存在UTF8网页中

  22. 22

    将.Net Framework从3.5更改为4.5时,WPF Interop Control呈现黑色

  23. 23

    Interop COM(-isch)接口封送处理在简单调用时导致AccessViotlationException

  24. 24

    Interop COM(-isch)接口封送处理在简单调用时导致AccessViotlationException

  25. 25

    自定义用户控件将空引用VB6抛出到VB.NET迁移

  26. 26

    自定义用户控件将空引用VB6抛出到VB.NET迁移

  27. 27

    无法将类型为“ System .__ ComObject”的COM对象转换为接口类型为“ Microsoft.Office.Interop.Excel.Worksheets”

  28. 28

    什么是Delphi上的vb.NET“ Interop用户控件”的等效项?

  29. 29

    在ASP.net MVC6网站上使用Office Interop

热门标签

归档