有沒有辦法在C#中實現反向枚舉或常量文件?我有一個列表中的ID,並希望將一個常量字符串映射到此ID。我在想是這樣的:反常量
定期enum
:
public enum StaticUser
{
DB = 1,
Order = 2
}
我需要什麼:
public enum StaticUser
{
1 = DB,
2 = Order
}
有沒有辦法在C#中實現反向枚舉或常量文件?我有一個列表中的ID,並希望將一個常量字符串映射到此ID。我在想是這樣的:反常量
定期enum
:
public enum StaticUser
{
DB = 1,
Order = 2
}
我需要什麼:
public enum StaticUser
{
1 = DB,
2 = Order
}
所以你有一個枚舉,
public enum StaticUser
{
DB = 1,
Order = 2
}
如果你想獲得成員的名字,你可能只是做ToString
string staticUserString = ((StaticUser)1).ToString();
這就引起字面1
到StaticUser
然後使用ToString
返回枚舉類型的字符串表示。
在此示例之後staticUserString == 'DB'
是true
。
如果你想爲一個特定的值,那麼你需要自己轉換功能,財產以後像這樣的一些其他的字符串常量,
public static string ToSpecialString(this StaticUser source)
{
const string dBString = "Database"
switch (source)
{
case StaticUser.DB:
return dBString;
default:
return source.ToString();
}
}
那麼你可以做
string specialStaticUserString = ((StaticUser)1).ToSpecialString();
在此之後示例staticUserString == 'Database'
是true
。
您可以簡單地把id來枚舉:
StaticUser user = (StaticUser)myId;
很酷,就是這樣。不知道那種演員是可能的。 – 65756C626F74