Tag: getproperties

使用reflection按声明的顺序获取属性

我需要按照在类中声明的顺序使用reflection来获取所有属性。 根据MSDN,使用GetProperties()时不能保证顺序 GetProperties方法不会以特定顺序(如字母或声明顺序)返回属性。 但是我已经读过,有一个解决方法是通过MetadataToken对属性进行sorting。 所以我的问题是,这是安全的吗? 我似乎无法find有关MSDN的任何信息。 或者还有解决这个问题的其他方法吗? 我目前的执行情况如下: var props = typeof(T) .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) .OrderBy(x => x.MetadataToken);