.net dynamic动态加属性
- class Test : System.Dynamic.DynamicObject
- {
- public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result)
- {
- if (map != null)
- {
- string name = binder.Name;
- object value;
- if (map.TryGetValue(name, out value))
- {
- result = value;
- return true;
- }
- }
- return base.TryGetMember(binder, out result);
- }
- System.Collections.Generic.Dictionary<string, object> map;
- public override bool TryInvokeMember(System.Dynamic.InvokeMemberBinder binder, object[] args, out object result)
- {
- if (binder.Name == "set" && binder.CallInfo.ArgumentCount == 2)
- {
- string name = args[0] as string;
- if (name == null)
- {
- //throw new ArgumentException("name");
- result = null;
- return false;
- }
- if (map == null)
- {
- map = new System.Collections.Generic.Dictionary<string, object>();
- }
- object value = args[1];
- map.Add(name, value);
- result = value;
- return true;
- }
- return base.TryInvokeMember(binder, args, out result);
- }
- }
- static void Main(string[] args)
- {
- dynamic t = new Test();
- string @a = "gg";
- t.set(@a,"galrj");
- Console.WriteLine(t.gg);
- }
http://blog.csdn.net/cqims21/article/details/17613733
https://q.cnblogs.com/q/15970/
.net dynamic动态加属性的更多相关文章
- C#4.0使用dynamic 动态添加属性
最近做一个项目,用wpf mvvm实现,而前台表格需要根据数据库某表的设置不同生成不同的列名.过去用winform和Ado.net实现这种功能的时候就只需要拼装DataTable,拼成最后需要的表格, ...
- 使用dynamic动态设置属性值与反射设置属性值性能对比
static void Main(string[] args) { int times = 1000000; string value = "Dynamic VS Reflection&qu ...
- Java动态加载属性文件.properties
当我们使用如下语句加载.properties时: ClassLoader classLoader = this.getClass().getClassLoader(); Properties prop ...
- 动态加载JS脚本
建立dynamic.js文件,表示动态加载的js文件,里面的内容为: function dynamicJS() { alert("加载完毕"); } 如下方法中的html页面和dy ...
- OC 动态类型,动态绑定,动态加载
OC 动态类型,动态绑定,动态加载 Objective-C具有相当多的动态特性,基本的,也是经常被提到和用到的有 动态类型(Dynamic typing) 动态绑定(Dynamic binding) ...
- [改善Java代码]使用forName动态加载类文件
动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...
- videojs 动态加载视频
VideoJS dynamic source change via RESTful API 'Undefined' issue with changing RTMP source on compres ...
- 反射01 Class类的使用、动态加载类、类类型说明、获取类的信息
0 Java反射机制 反射(Reflection)是 Java 的高级特性之一,是框架实现的基础. 0.1 定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对 ...
- ExtJS 4.1 TabPanel动态加载页面并执行脚本【转】
ExtJS 4.1 TabPanel动态加载页面并执行脚本 按照官方示例,可以动态加载页面,可是脚本不执行,于是查SDK.google,发现scripts需要设置为true,于是设置该属性,整个代码如 ...
随机推荐
- androidstudio下载地址
google官网地址 https://developer.android.com/studio/index.html
- C# DataTable转实体通用方法
public static class DataTableHelper { public static T GetEntity<T>(DataTable table) where T : ...
- mac上搭建python+selenium2的环境
1.mac默认已安装有python和easy_install 2.进入终端,使用root的权限,然后输入,回车后需要root的密码,即可安装成功,成功结果如下所示 sudo easy_install ...
- Comparer<T> IComparer<T> IComparable<T>
Comparer<T>.Default Property Comparer<T>.Default doesn't use your FooComparer class. It ...
- HDU 1517 A Multiplication Game 博弈
题目大意:从1开始Stan与Ollie经行博弈,stan先手,每次将当前数乘上(2~9)间的任意数,最后一次操作后大于等于n的人获胜. 题目思路: 1-9 stan 胜 10-18 ollie胜 19 ...
- Android中帧动画的创建
帧动画,实质上就是快速播放多张连接效果的图片,现在一般可用于下拉刷新时候的headView 实现步骤: 1.首先应该准备一组连接效果的图片 2.在res>drawable目录下创建xml文件,将 ...
- 动态的改变标签内的src属性
<body> <ul> <li class='on'>1</li> <li>2</li> <li>3</li& ...
- MQ队列堆积太长,消费不过来怎么办(转)
转自:http://windwrite.com/archives/603 我们现有的业务就面临此问题,消息生产太快,消费不过来,导致队列堆积很长,把服务器内存耗尽,这时RabbitMQ的处理能力很低下 ...
- meta常用标签总结
meta元素共有三个可选属性(http-equiv.name和scheme)和一个必选属性(content),content定义与 http-equiv 或 name 属性相关的元信息 可选属性 属性 ...
- json格式数据 ,将数据库中查询的结果转换为json(方式2)
controller: /*** * 返回所有版本的信息,json的形式返回到前台 * @return */ @RequestMapping(value="/getAllVersion&qu ...