[英]How to use a C# Enum in C++/CLI
我有一个包含枚举的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;
}
构建项目时,我得到以下信息:
error C2275: 'MyNamespace::MyEnum' : illegal use of this type as an expression
您需要冒号,而不是句号。
MyNamespace::MyEnum API::Go()
{
return MyEnum::OK;
}
另外,请注意,如果MyEnum最初是用C ++ / CLI编写的,则需要将其声明为public enum class MyEnum { ... }
以使其成为可从C#使用的托管枚举。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.