zoukankan      html  css  js  c++  java
  • C# 4.0 新特性dynamic (待学习)

    随便翻看了一下dynamic,在网上拷贝了一个例子,先贴出来等有空了再慢慢消化

    static void Main(string[] args)
    {
    dynamic d = new MyDynamicObject();
    d.Mytable = "ojlovecd";
    d.ojlovecd = "wang";
    Console.WriteLine(d.Mytable);//新加的字段,VS不会自动提示
    Console.WriteLine(d.ojlovecd);//新加的字段,VS不会自动提示
    Console.ReadKey();
    }
    /// <summary>
    /// 需要先实现父类的两个虚方法
    /// </summary>
    class MyDynamicObject : System.Dynamic.DynamicObject
    {
    private Dictionary<string, object> dic = new Dictionary<string, object>();
    
    public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result)
    {
    return dic.TryGetValue(binder.Name, out result) || base.TryGetMember(binder, out result);
    }
    
    public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
    {
    if (dic.ContainsKey(binder.Name))
    dic[binder.Name] = value;
    else
    dic.Add(binder.Name, value);
    base.TrySetMember(binder, value);
    return true;
    }
    }
  • 相关阅读:
    Flask 入门
    Android studio 混淆打包
    Android----获取包名和sh1
    windows下 安装 rabbitMQ 及操作常用命令
    Nginx
    Linux安装mongoDB步骤和方法
    史上最简单的 SpringCloud 教程 | 终章
    idea 项目热部署设置
    JDK源码阅读顺序
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/andayhou/p/6181478.html
Copyright © 2011-2022 走看看