博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# dynamic的属性是个变量
阅读量:5815 次
发布时间:2019-06-18

本文共 1871 字,大约阅读时间需要 6 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication3{    public class Student : 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
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
(); } object value = args[1]; map.Add(name, value); result = value; return true; } return base.TryInvokeMember(binder, args, out result); } } class Program { static void Main(string[] args) { dynamic t = new Student(); string @a = "ggff"; t.set(@a, "galrj"); Console.WriteLine(t.ggff); Console.ReadKey(); } }}

 

转载于:https://www.cnblogs.com/kexb/p/5646942.html

你可能感兴趣的文章
javascript call()
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>
面试题: 数据库 oracle数据库 已看1 意义不大 有用
查看>>
Flask 源码流程,上下文管理
查看>>
drf序列化组件
查看>>
qt 出现traceback -----relloc pointer
查看>>
Python 好用得让人发指的函数参数语法糖
查看>>
AWS设置允许root登陆
查看>>
真集群与伪集群的区别
查看>>
Note 387206.1 ORA-15041: ASM diskgroup with unlike disks sizes
查看>>
成都国税打造全能“电子税务局”
查看>>
[转载] 孙子兵法——01 始计第一
查看>>
python实现float/double的0x转化
查看>>
搭建Git服务器
查看>>
C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
查看>>
修改cmd路径方法 成功
查看>>
Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别
查看>>
【总结整理】关于块级元素和行级元素
查看>>