Enums 在枚举C+;中使用保留名称常量+;Cli

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

我想使用一个保留的名称,在我的枚举中是“const”

    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#中,有一个类似于前缀“@”的词来使用保留的名称。看见