Гарантирует ли Type.GetProperties () определенный порядок для результата PropertyInfo []? Например, возвращая их в алфавитном порядке по имени свойства или по порядку их появления в коде. Или заказ не определен?
С MSDN :
Метод GetProperties не вернуть свойства в конкретном порядок, такой как алфавитный или порядок декларирования. Ваш код не должен зависит от порядка, в котором свойства возвращаются, потому что это порядок меняется.
Я думаю, что вы можете снова отсортировать массив, используя "PropertyInfo.MetadataToken", например:
Array.Sort(propertyInfos, delegate(PropertyInfo first, PropertyInfo second) { return first.MetadataToken.CompareTo(second.MetadataToken); });