我正在尝试创建一个 DLL 以包含我在 C++ .net 应用程序中定期使用的一组函数。我相信安排这些函数的最佳方式是在命名空间中,因为它们不引用特定的对象。
namespace MyNamespace
{
int a();
int b();
int c();
}
DLL 编译正确,但是当我尝试在客户端解决方案中使用命名空间时,出现以下错误:
error C2871: 'MyNamespace' : a namespace with this name does not exist
但是,如果我将函数包装为类中的静态方法,我的客户端解决方案将按预期编译和运行:
namespace MyNamespace
{
public ref class MyClass
{
public:
static int a();
static int b();
static int c();
}
}
我的假设是 ref 关键字正在对类执行某些操作以将其公开给客户端应用程序。如何使用命名空间而不是类创建托管/CRL/CLI/.net .DLL?