我希望我的枚举返回字符串值.不是Enum Description,它们必须返回一个字符串值,而不是int.下面的代码示例正是我的想法,但显然无法编译.
public enum TransactionType
{
CreditCard = "C",
DebitCard = "D",
CreditCardAuthenticationWithAuthorization = "CA",
DebitCardAuthenticationWithAuthorization = "DA"
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
你不能,你可以做的是创建一个静态类,它"行为"有点像带有字符串值的枚举:
public static class TransactionType
{
public const string CreditCard = "C";
...
}
Run Code Online (Sandbox Code Playgroud)
您可以使用相同的方式访问它们:
string creditCardValue = TransactionType.CreditCard;
Run Code Online (Sandbox Code Playgroud)
另一种选择是与工作DescriptionAttribute的System.ComponentModel命名空间,但是那么你的枚举仍然有潜在的数值,所以也许这不完全,你需要什么.
例:
public enum TransactionType
{
[Description("C")]
CreditCard,
...
}
Run Code Online (Sandbox Code Playgroud)