获取对象属性的描述值
来源:互联网 发布:代购 知乎 编辑:程序博客网 时间:2024/06/03 22:41
public class GetModelProperty { public static string GetPropertyDesc(Type objectType, string propertyName) { try { var first = objectType.GetProperty(propertyName).GetCustomAttributes(typeof(DataFieldAttribute), false).FirstOrDefault(); //objectType.GetProperty(propertyName).GetCustomAttributes(typeof(DataFieldAttribute),false).FirstOrDefault(); return ((DataFieldAttribute)first).DescName; } catch (Exception ex) { ErrorLog.Write("分解对象值出错",ex); } return "未知属性名称"; } public static string GetPropertyName<T>(Expression<Func<T, object>> expr) { var rtn = ""; if (expr.Body is UnaryExpression) { rtn = ((MemberExpression)((UnaryExpression)expr.Body).Operand).Member.Name; } else if (expr.Body is MemberExpression) { rtn = ((MemberExpression)expr.Body).Member.Name; } else if (expr.Body is ParameterExpression) { rtn = ((ParameterExpression)expr.Body).Type.Name; } return rtn; } }调用:
GetModelProperty target = new GetModelProperty(); // TODO: 初始化为适当的值 FloorsTO m=new FloorsTO(); Type objectType = typeof(FloorsTO); // TODO: 初始化为适当的值 string propertyName = ""; string expected = string.Empty; // TODO: 初始化为适当的值 string actual; actual = GetModelProperty.GetPropertyName<FloorsTO>(c => c.TotalPower); var ddd = GetModelProperty.GetPropertyDesc(typeof(FloorsTO), actual); Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。");
前提,要自己定义一个属性:
public class DataFieldAttribute:Attribute { public string DescName { get; set; } }
- 获取对象属性的描述值
- 虚拟对象的属性描述
- 描述性程序对象属性值不识别的问题
- js 中对象属性特性的描述
- swift 获取类的所有属性、获取对象的属性值、设置对象的属性值
- 反射获取对象的属性值
- 获取对象属性值的方法
- easyui field 获取对象属性的值
- 获取JSON对象的属性值
- C#获取对象的属性值,格式为(属性:值),
- java反射获取对象的属性及属性值
- 获取TISAPIRequest对象的属性
- 获取对象的属性列表
- JQUERY 获取当前焦点对象属性, jquery attr()方法 添加,修改,获取对象的属性值。
- C#反射机制来获取类 属性的描述
- C#反射机制来获取类 属性的描述
- [构建自己的持久层]四、Property对象属性描述
- 对象属性管理和描述符的使用
- 通过HookNtCreateSection 动态监控驱动sys、动态链接库dll、可执行文件exe加载
- Logcat 的使用方法
- socket网络编程的初学使用见解
- Windows消息调度机制和线程同步控制
- 【Cocos2d-x 3.0学习笔记】场景切换
- 获取对象属性的描述值
- maven Invalid byte 3 of 3-byte UTF-8 sequence
- Ogre线程渲染,渲染设备无法恢复窗口停止响应的案例及解决办法
- Systemtap学习笔记
- IOS7 开发注意事项
- Python正则表达式入门
- MSSQL2005数据库LDF清除日志文件缩小体积
- 时间复杂度和空间复杂度详解
- 分组去重ROW_NUMBER() OVER函数的基本用法