Получить перечисление с определенного номера - PullRequest
0 голосов
/ 11 декабря 2018

У меня enum вот так:

   enum Numbers
    {
        SmallerThenThree = 3,
        SmallerThenFive = 5,
        SmallerThenTen = 10,
    }

Можно ли получить предмет enum по определенному номеру?Например:

 var numberFour = 4;
        var enumOfNumber = (Numbers)numberFour; // There should be SmallerThenFive enum type
        var numberSix = 6;
        enumOfNumber = (Numbers)numberSix; // There should be SmallerThenTen enum type

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы можете использовать Reflection:

var number = 4;
var enumValue = (Numbers)Enum.GetValues(typeof(Numbers))
    .Cast<int>()
    .OrderBy(v => v)
    .FirstOrDefault(v => number < v);   

// Note: enumValue will be (Numbers)0 if the value is >= 10
0 голосов
/ 11 декабря 2018
   var value= 4;
 Numbers enumDisplayStatus = (Numbers)value;
    string stringValue = enumDisplayStatus.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...