zoukankan      html  css  js  c++  java
  • c# 根据自定义Attribute排序

    add a class: 

    public class ExportAttribute : Attribute {     public int FieldOrder { get; set; }     public ExportAttribute() { } }


    add [ExportAttribute(FieldOrder = 2)] on the Field
     [DisplayName("Department Name")]
     [ExportAttribute(FieldOrder = 2)]
     public string DepartmentName {
         get {
             return this.Department.DepartmentName;
         }
     }



    Get the class's filed those have the DisplayName Attribute and order by the FieldOrder DisplayName
    public PropertyInfo[] GetPropertyInfoArray(Type type)
           {
               PropertyInfo[] props = null;
               try
               {
                   object obj = Activator.CreateInstance(type);
                   //props = (from r in type.GetProperties(BindingFlags.Public | BindingFlags.Instance)
                   //         where r.GetCustomAttribute(typeof(DisplayNameAttribute)) != null
                   //         select r).ToArray();
     
                   props = type.GetProperties(BindingFlags.Instance | BindingFlags.Public)
                           .Select(x => new 
                           { 
                               Property = x, 
                               Attribute = (ExportAttribute)Attribute.GetCustomAttribute(x, typeof(ExportAttribute), true) 
                           })
                           .Where(x => x.Property.GetCustomAttribute(typeof(DisplayNameAttribute)) != null )
                           .OrderBy(x => x.Attribute != null ? x.Attribute.FieldOrder : -1)
                           .Select(x => x.Property )
                           .ToArray();
               }
               catch (Exception ex)
               {
                   AppLogger.LogErrorOnly(ex);
               }
               return props;
     
           }










  • 相关阅读:
    【爬虫】-爬取食品检验结果
    《Python数据分析与挖掘实战》-第四章-数据预处理
    【算法学习】-线性回归算法
    【数据分析学习】Pandas学习记录
    【数据分析学习】Pandas思维导图
    【数据分析学习】016-numpy数据结构
    路飞学城Python-Day80
    java的安装环境配置详细步骤
    Java中的位运算符
    Java中对List集合的常用操作
  • 原文地址:https://www.cnblogs.com/facial/p/5183829.html
Copyright © 2011-2022 走看看