• C# 属性反射


    #region 打印对象所有属性
    /// <summary>
    /// 打印对象所有属性
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public static string PrintAttribute(object obj)
    {
        StringBuilder strBuilder = new StringBuilder();

        //组合Attribute属性
        foreach (FieldInfo field in obj.GetType().GetFields())
        {
            if (field.FieldType != typeof(byte[]))
            {
                strBuilder.AppendLine(string.Format("[{0}]:{1}", field.Name, field.GetValue(obj)));
            }
            else if (field.GetValue(obj) != null)
            {
                strBuilder.AppendLine(string.Format("[{0}]:{1}", field.Name, CommonUtility.ByteArrayToHexString((byte[])field.GetValue(obj))));
            }
        }

        //组合Property属性
        foreach (PropertyInfo property in obj.GetType().GetProperties())
        {
            if (property.PropertyType != typeof(byte[]))
            {
                strBuilder.AppendLine(string.Format("[{0}]:{1}", property.Name, property.GetValue(obj, null)));
            }
            else if (property.GetValue(obj, null) != null)
            {
                strBuilder.AppendLine(string.Format("[{0}]:{1}", property.Name, CommonUtility.ByteArrayToHexString((byte[])property.GetValue(obj, null))));
            }
        }

        return strBuilder.ToString();
    }
    #endregion
  • 相关阅读:
    第十四周课程总结&实验报告
    第十三周学习总结&实验报告(八)
    第十二周学习总结
    第十一周课程总结
    第十周课程总结
    实验报告(七)&第九周课程总结
    软件工程作业02
    第一周博客作业
    2019春总结作业
    第十二周作业
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/2691025.html
Copyright © 2020-2023  润新知