Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Альтернатива Enum.IsDefined
|
|||
|---|---|---|---|
|
#18+
А есть ли альтернатива Enum.IsDefined ? Этот метод достаночно медленный, так как использует reflection и т.п. Как быстрее всего проверить, что значение входит в enum? При условии, что значения в enum идут не по-порядку. Спасибо, Alex ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2004, 17:39 |
|
||
|
Альтернатива Enum.IsDefined
|
|||
|---|---|---|---|
|
#18+
в общем случае без рефлекшена - именно никак, только ручками. т.е. для каждого конкретного enum проверять диапазоны ------------------- (suck) описываем: public enum Sample { Diap1_begin, One=Diap1_begin, Two, Three, Diap2_end=Three, ... } и потом проверяем ------------------ (good) если же таких энумераций много и все в процессе девелопмента, то можно накатать класс-хелпер и пользоваться IsDefined(Type enumType, object value) этого класса-хелпера. при этом, если интересующего enum еще не было (не лежит во внутренней хещ-таблицы), то регистрировать интересующий enums (именно с помощью reflection одноразово), разбивать значения этого enum на диапазоны для последующей проверки. плюсы указанного способа: typeof(тип) - самая мгновенная операция, т.к. ссылка на описатель - это первый член каждого Object. ввиду того, что рефлекшн используется лишь одноразово - вполне подходящая схема заранее никакие enum регистрировать в классе хелпере не надо... регистрирование происходит по мере надобности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2004, 00:22 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32434012&tid=1439465]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 367ms |

| 0 / 0 |
