Enums 在枚举C+;中使用保留名称常量+;Cli
我想使用一个保留的名称,在我的枚举中是“const”Enums 在枚举C+;中使用保留名称常量+;Cli,enums,c++-cli,constants,command-line-interface,Enums,C++ Cli,Constants,Command Line Interface,我想使用一个保留的名称,在我的枚举中是“const” public enum class EdsAttributeAccessType : int { ro, rw, wo, const, notSpecified }; 这是可能的,还是仅仅是非法使用?我尝试这样做的原因是我正在解析一个设备描述文件。最简单的方法是像这样解析文件的属性 文件示例: ... [2F51sub2] Paramet
public enum class EdsAttributeAccessType : int
{
ro,
rw,
wo,
const,
notSpecified
};
这是可能的,还是仅仅是非法使用?我尝试这样做的原因是我正在解析一个设备描述文件。最简单的方法是像这样解析文件的属性
文件示例:
...
[2F51sub2]
ParameterName=Program Number 2
ObjectType=0x07
DataType=0x0007
AccessType=rw
DefaultValue=0x0
PDOMapping=0
[2F59]
SubNumber=3
ParameterName=Download Timeout Indicator
ObjectType=0x08
[2F59sub0]
ParameterName=Number of Entries
ObjectType=0x07
DataType=0x0005
AccessType=const
PDOMapping=0
...
那么我只需要这样做:
EdsNodeAttribute^ result = FindAttribute(EdsAttributeType::AccessType);
if (result != nullptr){
return (EdsAttributeAccessType)Enum::Parse(EdsAttributeAccessType::typeid, result->Value, true);
}
C++/CLI语言规范(Ecma-372)中的第9.1.1章介绍了如何执行此操作。使用
\u标识符关键字:
public enum class EdsAttributeAccessType : int
{
ro,
rw,
wo,
__identifier(const),
notSpecified
};
在C#中,有一个类似于前缀“@”的词来使用保留的名称。看见