代码之家  ›  专栏  ›  技术社区  ›  Usman

需要使用.NET中的反射调用COM组件

  •  2
  • Usman  · 技术社区  · 16 年前

    我需要确定COM组件(非托管代码)的类型,并在运行时使用C中的反射调用公开接口的方法。

    1. 首先,“type”的哪个成员告诉该类型是com组件,我们可以在运行时获取clsid?是type.com对象吗?
    2. 我需要调用公开接口的方法,就像它们在非托管代码中通过传递clsid和refid使用cocreateinstance调用的那样…我正在使用invokember,但它返回null或0作为out参数。

    在这种情况下如何传递参数。?是否需要传递参数?因为我所有的COM非托管代码都假设将最后一个参数作为输出参数,并且在执行之后,将结果放入该输出参数。但我已使用tlbimp.exe将所有非托管COM代码转换为.NET托管程序集。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    这个问题是一年前提出来的,所以我不知道它有多重要,但这能帮上忙吗? C# 4.0 'dynamic' doesn't set ref/out arguments