C++ 封送字节到枚举
因此,我使用Marshal类将非托管结构解析为托管结构。到目前为止,除了我正在努力将非托管字符转换为托管枚举类型这一事实之外,一切都按预期进行 例如:C++ 封送字节到枚举,c++,vb.net,enums,marshalling,C++,Vb.net,Enums,Marshalling,因此,我使用Marshal类将非托管结构解析为托管结构。到目前为止,除了我正在努力将非托管字符转换为托管枚举类型这一事实之外,一切都按预期进行 例如: 未更改管理的公共结构 公共_Enum作为ManagedCustomEnum 端部结构 公共枚举管理自定义项 价值1 价值2 价值3 价值4 价值等 结束枚举 这会产生错误:Unvalid组合 如果我只是简单地删除,那么除了结构其余部分的索引关闭之外,解析工作正常,给出了未验证的值 尝试了很多可能性,也阅读了所有的MSDN文章,但仍然没有运气
未更改管理的公共结构
公共_Enum作为ManagedCustomEnum
端部结构
公共枚举管理自定义项
价值1
价值2
价值3
价值4
价值等
结束枚举
这会产生错误:Unvalid组合
如果我只是简单地删除
,那么除了结构其余部分的索引关闭之外,解析工作正常,给出了未验证的值
尝试了很多可能性,也阅读了所有的MSDN文章,但仍然没有运气
希望有人能给我指出正确的方向。一个
Enum
有一个默认的底层类型Int32
。您必须在声明中将其更改为Byte
:
Public Enum ManagedCustomEnum作为字节
价值1
价值2
价值3
价值4
价值等
结束枚举
正是我想要的,有时候比你想象的要简单:-)