您现在的位置:首页 --> JavaScript --> 获取匿名对象的属性
获取匿名对象的属性
浏览:1748次 出处信息
以下是代码片段: namespace System.Extension.Dynamic { public static class Dynamic { private static Dictionary<PropertyInfo, object> propertyGetters = new Dictionary<PropertyInfo, object>(); public static object Property(this object instance, string name) { var instanceType = instance.GetType(); var propertyInfo = instanceType.GetProperty(name); if (propertyInfo == null) throw new InvalidOperationException(); if (!propertyInfo.CanRead) throw new InvalidOperationException(); object compiled; if (!propertyGetters.TryGetValue(propertyInfo, out compiled)) { var parameter = Expression.Parameter(typeof(object), "obj"); var convertParameter = Expression.Convert(parameter, instance.GetType()); var property = Expression.Property(convertParameter, propertyInfo); var convertReturnValue = Expression.Convert(property, typeof(object)); var lambda = Expression.Lambda(convertReturnValue, parameter); compiled = lambda.Compile(); propertyGetters.Add(propertyInfo, compiled); } return ((Func<object, object>)compiled)(instance); } } } |
建议继续学习:
- 前端必须熟悉的10个CSS3属性 (阅读:2886)
- 细说JavaScript中对象的属性和方法 (阅读:2051)
- [Perl6]类, 属性, 方法和其它 (阅读:1551)
- 细说魅力属性 (阅读:1374)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Inline Form Labels
后一篇:JS中如何判断字符串类型的数字 >>
文章信息
- 作者:小寒 来源: 记事本
- 标签: 匿名对象 属性
- 发布时间:2010-08-04 23:17:54
近3天十大热文
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [53] 如何拿下简短的域名
- [52] 图书馆的世界纪录
- [50] Go Reflect 性能
- [50] Oracle MTS模式下 进程地址与会话信
- [48] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑