簡體   English   中英

如何在C ++ / CLI中使用C#枚舉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM