Type.GetProperties()是否保证其PropertyInfo[]结果的某种顺序?例如按属性名称字母顺序返回它们或按它们在代码中出现的顺序返回它们。还是顺序未定义的?
来自MSDN:
GetProperties方法不会按照特定的顺序返回属性,例如按字母顺序或声明顺序。您的代码不能依赖于属性被返回的顺序,因为该顺序是可变的。
我认为你可以再次使用“PropertyInfo.MetadataToken”对数组进行排序,就像这样:
Array.Sort(propertyInfos, delegate(PropertyInfo first, PropertyInfo second)
{
return first.MetadataToken.CompareTo(second.MetadataToken);
});