我有一个包含枚举的 C# 程序集:
public enum MyEnum
{
OK = 0,
NOT_OK = -1
}
我已经添加了对 C++/CLI
项目的引用,但我不知道如何从函数返回值。
标题:
#pragma once
using namespace System;
using namespace MyNamespace;
namespace NativeWrapper {
public ref class API
{
public:
static MyNamespace::MyEnum Go();
};
}
CPP:
#include "StdAfx.h"
#include "API.h"
using namespace NativeWrapper;
MyNamespace::MyEnum API::Go()
{
return MyEnum.OK;
}
我在构建项目时得到以下信息:
错误 C2275:“MyNamespace::MyEnum”:非法使用此类型作为表达式
最佳答案
您需要冒号,而不是句号。
MyNamespace::MyEnum API::Go()
{
return MyEnum::OK;
}
另请注意,如果 MyEnum 最初是用 C++/CLI 编写的,您需要将其声明为 public enum class MyEnum { ... }
以使其成为托管枚举,您可以从 C# 使用。
关于c# - 如何在 C++/CLI 中使用 C# 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9068326/