Получить свойства в порядке объявления, используя отражение
Мне нужно получить все свойства, используя отражение в том порядке, в котором они объявлены в классе. В соответствии с MSDN порядок не может быть гарантирован при использованииGetProperties()
Метод GetProperties не возвращает свойства в определенном порядке, например в алфавитном порядке или в порядке объявления.
Но я читал, что есть обходной путь, упорядочив свойства поMetadataToken
, Итак, мой вопрос, это безопасно? Я не могу найти какую-либо информацию на MSDN об этом. Или есть какой-то другой способ решения этой проблемы?
Моя текущая реализация выглядит следующим образом:
var props = typeof(T)
.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.OrderBy(x => x.MetadataToken);