Type.GetProperties()是否保证PropertyInfo []结果的某个顺序?

时间:2009-10-06 20:22:15

标签: c# reflection

Type.GetProperties()是否保证其PropertyInfo []结果的某个顺序?例如按属性名称或它们在代码中出现的顺序按字母顺序返回它们。或订单未定义?

2 个答案:

答案 0 :(得分:13)

来自MSDN

  

GetProperties方法没有   返回特定的属性   顺序,如字母或   申报单。你的代码一定不能   取决于其中的顺序   属性被返回,因为那   订单各不相同。

答案 1 :(得分:1)

我认为您可以使用“PropertyInfo.MetadataToken”再次对数组进行排序,如下所示:

Array.Sort(propertyInfos, delegate(PropertyInfo first, PropertyInfo second)
  {
            return first.MetadataToken.CompareTo(second.MetadataToken);
  });