我有一个用 C++\CLI 编写的程序集,它使用 .Net 提供的一些枚举。它有这样的性质:
property System::ServiceProcess::ServiceControllerStatus ^ Status
{
ServiceControllerStatus ^ get()
{
return (ServiceControllerStatus)_status->dwCurrentState;
}
}
它工作正常,但是当我从我的 C# 代码中使用这个程序集时,这个属性的类型是
System.Enum
我必须进行类型转换
if ((ServiceControllerStatus)currentService.Status == ServiceControllerStatus.Running)
//do smth
问题很简单:为什么会这样,以及如何解决?