order by MetadataToken解决反射字段顺序问题
2018-01-29 10:01
295 查看
public class Person
{
public string 姓名{get;set;}
}
public class Profile:Person
{
public string 档案号{get;set;}
}
var pros = valueItem.GetType().GetProperties().ToArray();
反射循环取Profile字段的时候发现,Person的字段排在Profile的字段后面,现在要实现Person的字段排在最前面:
尝试加 [DataMember(Order=0)]或[Column(Order=0)]标记均无效.调试观察 发现MetadataToken属性值是父类字段的数字小,子类字段的数字大,因此order by该字段即可:
var pros = (valueItem.GetType().GetProperties().OrderBy(ee=>ee.MetadataToken).ToArray();
其他解决办法:https://stackoverflow.com/questions/9977305/c-sharp-how-can-i-sort-the-fields-returned-by-type-getfields-by-their-declar
84F67DA5-6A5C-4762-89FA-C3E244FE57E7|From:http://www.cnblogs.com/xuejianxiyang/p/8376000.html
相关文章推荐
- SQL order by ID desc/asc加一个排序的字段解决查询慢问题
- DataTable实现列位置交换,用于SQL语句无法解决字段页面显示顺序问题
- 关于新浪微博SSO授权时出现 Weibo-authorize Failed to receive access token by SSO 的问题解决
- Java进阶(四)Java反射TypeToken解决泛型运行时类型擦除问题
- 关于sql语句中top + order by语句出现多提取问题的解决[cherryt笔记]
- 如何解决:ERROR: the user data image is used by another emulator. aborting 的问题
- emulator: ERROR: the user data image is used by another emulator. aborti问题的解决
- 搭建Hive on Spark 遇见的问题File /home/daxin/bigdata/hive/scripts/metastore/upgrade/MySQL/upgrade.order.MyS
- mysql order by 多字段排序问题
- Java进阶(四)Java反射TypeToken解决泛型运行时类型擦除问题
- LINQ找出重复和不重复的元素及linq OrderBy 方法 两个字段同时排序有关问题
- 解决用OpenRowSet打开Excel后字段顺序混乱的问题!
- 如何解决:ERROR: the user data image is used by another emulator. aborting 的问题
- Java反射TypeToken解决泛型运行时类型擦除问题
- 如何解决:ERROR: the user data image is used by another emulator. aborting 的问题
- 如何解决:ERROR: the user data image is used by another emulator. aborting 的问题
- guava反射TypeToken解决泛型运行时类型擦除的问题
- 解决SQL插入EXCEL字段顺序错乱问题
- Java进阶(四)Java反射TypeToken解决泛型运行时类型擦除问题