【发布时间】: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 代码中声明它们,这是行不通的。那么必然是要确保避免循环依赖,这是你问这个问题的可能原因。