У меня есть числовое перечисление, как показано ниже.
enum Rating {
Unknown = 0,
One,
Two,
Three,
Four
}
Мне нужно получить альтернативное строковое значение enum при доступе к строке перечисления, как показано ниже.
var stringVal = Rating[Rating.One];
Приведенная выше строкадолжен дать мне «Рейтинг одного» вместо одного.
Мне нужно придерживаться числовых перечислений и я не могу использовать строковые перечисления.Однажды решение, о котором я мог бы подумать, это использовать строковый массив, как показано ниже.
const stringRating = ["Unknown Rating", "Rating One", "Rating is Two", "Rating is Three", "Rating is Four"];
export function toString(rating: Rating): string {
return stringValues[rating];
Но есть ли лучший способ добиться этого в машинописи?
Я ожидаю что-то вроде атрибута Descriptionв c # для перечислений, как показано ниже
public enum MyEnum
{
[Description("value 1")]
Value1,
[Description("value 2")]
Value2,
[Description("value 3")]
Value3
}