У меня есть числовое перечисление, как показано ниже.
enum Rating {
Unknown = 0,
One,
Two,
Three,
Four
}
Мне нужно получить альтернативное строковое значение перечисления, когда я обращаюсь к строке перечисления, как показано ниже.
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 в С# для перечислений, как показано ниже.
public enum MyEnum
{
[Description("value 1")]
Value1,
[Description("value 2")]
Value2,
[Description("value 3")]
Value3
}