gpt4 book ai didi

c# - (c++/cli) C++ 使用 C# dll 获取任何枚举成员名称

转载 作者:行者123 更新时间:2023-11-28 04:39:05 25 4
gpt4 key购买 nike

我正在使用 VS2010,我正在尝试使用 C# dll 获取 C++ 中的任何枚举成员名称,

我的 C# dll 源代码:

namespace CSharpFuncion
{
public class CSFun
{
public string GetEnumName(Enum en)
{
return Enum.GetName(typeof(Enum), en);
}
}
}

我的 C++ 代码

#using "CSharpFuncion.dll"
using namespace CSharpFuncion;
CSFun ^ csFun = gcnew CSFun;
cout << csFun->GetEnumName(MyTestEnum::E_A) << endl;

错误信息:

cannot convert parameter from 'MyTestEnum'  to 'System::Enum ^'

我该如何解决?

最佳答案

而不是

public enum MyTestEnum
{
E_A = 1,
E_B = 2
};

你需要做到这一点

public enum class MyTestEnum
{
E_A = 1,
E_B = 2
};

所以只需添加class关键字即可。

并将 return Enum.GetName(typeof(Enum), en); 更改为 return en.ToString()

关于c# - (c++/cli) C++ 使用 C# dll 获取任何枚举成员名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50639491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com