C# 属性反射

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 14:51   19   0
#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

转载于:https://www.cnblogs.com/zhangpengshou/archive/2012/09/18/2691025.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP