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