<分区>
Possible Duplicate:
Is there a simple script to convert C++ enum to string?
在 C# 中 program下面,在使用枚举优先级时,我需要字符串“None”而不是 id 0。执行此操作的 C# 代码如下所示。在 C++ 中是否有一种优雅的方式来执行此操作。在 C++ 实现中是否可以避免映射。
enum Priority
{
None,
Trivial,
Normal,
Important,
Critical
}
class Program
{
static void Main()
{
// Write string representation for Important.
Priority enum1 = Priority.Important;
string value1 = enum1.ToString();
// Loop through enumerations and write string representations. (See GetNames)
for (Priority enum2 = Priority.None; enum2 <= Priority.Critical; enum2++)
{
string value2 = enum2.ToString();
Console.WriteLine(value2); //outputs the string None, Trivial etc ...
}
}
}
public override string ToString()
{
Type type = base.GetType();
object obj2 = ((RtFieldInfo)GetValueField(type)).InternalGetValue(this, false);
return InternalFormat(type, obj2);
}