【问题标题】:Call the method from C# to C++CLI从 C# 调用方法到 C++CLI
【发布时间】:2013-06-03 14:09:01
【问题描述】:

我必须在 C++CLI 中调用 C# 托管类库,其中包含带有 Wrapper.cpp 和 Wrapper.h 的文件。

我的托管类库包含如下代码:

namespace MyClassLbrary
{
  public class MyImage
  {
     public void TestImage(DrawImage drawImage)
     { 
     }
}
 public class DrawImage
 {

  }
}

下一步应该是

我必须从 C++CLI 即 Wrapper.cpp 中调用这个 TestImage(DrawImage darwImage) 方法。 我必须在 Wrapper.h 文件中编写所有非托管代码。与此有关。但问题是我必须在我的 Wrapper.h 文件中声明这个 TestImage(DrawImage drawImage),其中包含我的 c# 托管类的对象。我正在我的 C++CLI 中导入该 C# 类库。 然后如何在我的 Wrapper.h 文件中调用该方法,该文件仅包含与非托管代码相关的内容。如果您有任何通用的解决方案,请告诉我,以便我可以调用我的方法,例如 TestImage。

【问题讨论】:

  • 非常很容易做到,您单击添加新引用按钮并选择 C# 程序集。并且立即,C# 程序集中的任何公共类都可以在您的 C++/CLI 代码中使用。您确实想在您的 C++/CLI 代码中声明它们,这是行不通的。那么必然是要确保避免循环依赖,这是你问这个问题的可能原因。

标签: c# c++-cli wrapper


【解决方案1】:

使用单独的头文件,并将实际的非托管代码放在 .cpp 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2016-03-26
    相关资源
    最近更新 更多