我在C ++ / CLI中有一个接口,我需要在C#中实现,但我不可见。但是我有其他类(我可以继承的抽象和具体的)。
我的C ++ / CLI界面:
namespace MyNamespace { namespace MySubnamespace {
public interface class ITestInterface
{
public:
property bool FirstProperty
{
bool get();
}
property bool SecondProperty
{
bool get();
}
};
}}
我有一个测试项目,我使用托管库中的所有功能,但界面永远不会显示。
我如何尝试在我的C#测试项目中使用它:(我也试过从类库项目中使用它,它也不起作用)。
public class Test: MyNamespace.MySubnamespace.ITestInterface
{
}
我得到" 无法解析符号' ITestInterface' "
我错过了什么?
更新
在我对我的问题的评论之后,我一直在尝试不同的事情,我发现如果我将.h文件包含在我的C ++ / CLI项目的其他.h文件中,那么该类就变得可见了。 基本上我只是这样做:
#include "ITestInterface.h"
在我的一个C ++ / CLI项目的其他.h文件中,C#项目可以看到该类。
有没有办法可以避免这样做?
答案 0 :(得分:4)
C ++ / CLI与C ++类似,只是直接编译.cpp文件。头文件仅在包含时编译。这就是为您的界面标题添加#include
的原因。
有几种方法可以确保您的代码包含在C ++ / CLI类中: