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