分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

order by MetadataToken解决反射字段顺序问题

发布时间:2023-09-06 01:40责任编辑:赖小花关键词:暂无标签

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

order by MetadataToken解决反射字段顺序问题

原文地址:https://www.cnblogs.com/xuejianxiyang/p/8376000.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved