Je dois obtenir toutes les propriétés en utilisant la réflexion dans l'ordre dans lequel elles sont déclarées dans la classe. Selon MSDN, l'ordre ne peut pas être garanti lorsque l'on utilise GetProperties()
La méthode GetProperties ne retourne pas les propriétés dans un ordre particulier, tel que l'ordre alphabétique ou l'ordre de déclaration.
Mais j'ai lu qu'il existe une solution en ordonnant les propriétés par le MetadataToken
. Ma question est donc, est-ce sûr? Je ne trouve pas d'informations à ce sujet sur MSDN. Ou existe-t-il une autre façon de résoudre ce problème?
Mon implémentation actuelle ressemble à ceci:
var props = typeof(T)
.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.OrderBy(x => x.MetadataToken);