Necesito obtener todas las propiedades usando la reflexión en el orden en que se declaran en la clase. Según MSDN, no se puede garantizar el pedido al usarGetProperties()
El método GetProperties no devuelve propiedades en un orden particular, como orden alfabético o de declaración.
Pero he leído que hay una solución al ordenar las propiedades por MetadataToken
. Entonces mi pregunta es, ¿es seguro? Parece que no puedo encontrar ninguna información en MSDN al respecto. ¿O hay alguna otra forma de solucionar este problema?
Mi implementación actual tiene el siguiente aspecto:
var props = typeof(T)
.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.OrderBy(x => x.MetadataToken);